latest web site changes
diff --git a/docs/dev/404.html b/docs/dev/404.html
new file mode 100644
index 0000000..c3e2de3
--- /dev/null
+++ b/docs/dev/404.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+
+<head>
+  <meta charset="utf-8"> <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+ <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+ 
+  <title>404 Page not found</title>
+  
+   
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/horsey.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+<style type="text/css">
+    :root #header + #content > #left > #rlblock_left {
+      display: none !important;
+    }
+
+    p,
+    li,
+    ul {
+      text-align: center
+    }
+
+    ul {
+      list-style-type: none;
+    }
+</style>
+
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="404 Page not found :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="404 Page not found :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+</head>
+
+<body>
+
+  <body class="" data-url="/">
+
+    <section id="body" style="margin-left:0px;">
+      <div id="overlay"></div>
+      <div id="chapter">
+        <div id="body-inner">
+          <h1>Error</h1>
+          <p>
+          </p>
+          <p>Woops. Looks like this page doesn&#39;t exist ¯\_(ツ)_/¯.</p>
+          <p></p>
+          <p><a href='/hono/docs/dev/'>Go to homepage</a></p>
+          <p><img src='/hono/docs/images/gopher-404.jpg' style="width:50%" alt="Page not found!"></img></p>
+        </div>
+      </div>
+
+    </section>
+  </body>
+
+</html>
diff --git a/docs/dev/admin-guide/amqp-adapter-config/index.html b/docs/dev/admin-guide/amqp-adapter-config/index.html
new file mode 100644
index 0000000..d98e6aa
--- /dev/null
+++ b/docs/dev/admin-guide/amqp-adapter-config/index.html
@@ -0,0 +1,2501 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>AMQP Adapter Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="AMQP Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="AMQP Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/amqp-adapter-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/amqp-adapter-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/amqp-adapter-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > AMQP Adapter Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#service-configuration">Service Configuration</a></li>
+<li><a href="#port-configuration">Port Configuration</a>
+<ul>
+<li><a href="#secure-port-only">Secure Port Only</a></li>
+<li><a href="#insecure-port-only">Insecure Port Only</a></li>
+<li><a href="#dual-port">Dual Port</a></li>
+<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+</ul></li>
+<li><a href="#amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
+<li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
+<li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
+<li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
+<li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a></li>
+<li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
+<li><a href="#metrics-configuration">Metrics Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>AMQP Adapter Configuration</h1>
+          
+
+        
+
+
+<p>The AMQP protocol adapter allows clients (devices and gateway components) that speaks AMQP 1.0 to publish telemetry messages and events to Eclipse Hono&trade;&rsquo;s Telemetry and Event endpoints.</p>
+
+<p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-amqp-vertx/">Docker image</a> created from it.</p>
+
+<h2 id="service-configuration">Service Configuration</h2>
+
+<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/dev/admin-guide/common-config/">Common Configuration</a>.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the AMQP adapter.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_AMQP_AUTHENTICATION_REQUIRED</code><br><code>--hono.amqp.authenticationRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_BIND_ADDRESS</code><br><code>--hono.amqp.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_CERT_PATH</code><br><code>--hono.amqp.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_DEFAULTS_ENABLED</code><br><code>--hono.amqp.defaultsEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.amqp.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_INSECURE_PORT</code><br><code>--hono.amqp.insecurePort</code></td>
+<td align="center">no</td>
+<td align="left"><code>4040</code></td>
+<td align="left">The port number that the protocol adapter should listen on for insecure connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.amqp.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_KEY_PATH</code><br><code>--hono.amqp.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.amqp.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_KEY_STORE_PATH</code><br><code>--hono.amqp.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_AMQP_KEY_PATH</code> and <code>HONO_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_MAX_CONNECTIONS</code><br><code>--hono.amqp.maxConnections</code></td>
+<td align="center">no</td>
+<td align="left"><code>0</code></td>
+<td align="left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_MAX_FRAME_SIZE</code><br><code>--hono.amqp.maxFrameSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>16384</code></td>
+<td align="left">The maximum number of bytes that can be sent in an AMQP message delivery over the connection with a device. When a client sends an AMQP frame of larger size, the connection is closed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_MAX_PAYLOAD_SIZE</code><br><code>--hono.amqp.maxPayloadSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>2048</code></td>
+<td align="left">The maximum allowed size of an incoming AMQP message in bytes. When a client sends a message with a larger payload, the message is discarded and the link to the client is closed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_MAX_SESSION_FRAMES</code><br><code>--hono.amqp.maxSessionFrames</code></td>
+<td align="center">no</td>
+<td align="left"><code>30</code></td>
+<td align="left">The maximum number of AMQP transfer frames for sessions created on this connection. This is the number of transfer frames that may simultaneously be in flight for all links in the session.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.amqp.nativeTlsRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">The server will probe for OpenSSL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_PORT</code><br><code>--hono.amqp.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>4041</code></td>
+<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.amqp.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td align="center">no</td>
+<td align="left"><em>#CPU cores</em></td>
+<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The variables only need to be set if the default values do not match your environment.</p>
+
+<h2 id="port-configuration">Port Configuration</h2>
+
+<p>The AMQP protocol adapter can be configured to listen for connections on</p>
+
+<ul>
+<li>a secure port only (default) or</li>
+<li>an insecure port only or</li>
+<li>both a secure and an insecure port (dual port configuration)</li>
+</ul>
+
+<p>The AMQP protocol adapter will fail to start if none of the ports is configured properly.</p>
+
+<h3 id="secure-port-only">Secure Port Only</h3>
+
+<p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
+
+<p>There are two alternative ways for doing so:</p>
+
+<ol>
+<li>either setting the <code>HONO_AMQP_KEY_STORE_PATH</code> and the <code>HONO_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
+<li>setting the <code>HONO_AMQP_KEY_PATH</code> and <code>HONO_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
+</ol>
+
+<p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure port 4041. The port number can also be set explicitly using the <code>HONO_AMQP_PORT</code> variable.</p>
+
+<p>The <code>HONO_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="insecure-port-only">Insecure Port Only</h3>
+
+<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
+
+<ul>
+<li>explicitly setting <code>HONO_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
+<li>implicitly configuring the default adapter port (4040) by simply setting <code>HONO_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
+</ul>
+
+<p>The protocol adapter issues a warning on the console if <code>HONO_AMQP_INSECURE_PORT</code> is set to the default secure port (4041) used by the adapter for secure connections.</p>
+
+<p>The <code>HONO_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
+
+<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="dual-port">Dual Port</h3>
+
+<p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
+
+<h3 id="ephemeral-ports">Ephemeral Ports</h3>
+
+<p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
+
+<h2 id="amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h2>
+
+<p>The adapter requires a connection to the <em>AMQP 1.0 Messaging Network</em> in order to forward telemetry data and events received from devices to downstream consumers.</p>
+
+<p>The connection to the messaging network is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+with <code>HONO_MESSAGING</code> being used as <code>${PREFIX}</code>. Since there are no responses being received, the properties for configuring response caching can be ignored.</p>
+
+<h2 id="tenant-service-connection-configuration">Tenant Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> in order to retrieve information for a tenant.</p>
+
+<p>The connection to the Tenant Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_TENANT</code> and the additional values for response caching apply.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-registration-service-connection-configuration">Device Registration Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> in order to retrieve registration status assertions for connected devices.</p>
+
+<p>The connection to the Device Registration Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_REGISTRATION</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="credentials-service-connection-configuration">Credentials Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a> in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.</p>
+
+<p>The connection to the Credentials Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_CREDENTIALS</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-connection-service-connection-configuration">Device Connection Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-connection-api/">Device Connection API</a> in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.</p>
+
+<p>The connection to the Device Connection service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_DEVICE_CONNECTION</code>.</p>
+
+<p>Responses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.</p>
+
+<h2 id="resource-limits-checker-configuration">Resource Limits Checker Configuration</h2>
+
+<p>The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_HOST</code><br><code>--hono.plan.prometheusBased.host</code></td>
+<td align="center">no</td>
+<td align="left">none</td>
+<td align="left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_PORT</code><br><code>--hono.plan.prometheusBased.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>9090</code></td>
+<td align="left">The port of the Prometheus server to retrieve metrics data from.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMinSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>20</code></td>
+<td align="left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMaxSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT</code><br><code>--hono.plan.prometheusBased.cacheTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>600</code></td>
+<td align="left">The number of seconds after which the cached metrics data should be considered invalid.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="metrics-configuration">Metrics Configuration</h2>
+
+<p>See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/amqp-network-config/index.html b/docs/dev/admin-guide/amqp-network-config/index.html
new file mode 100644
index 0000000..51b23d2
--- /dev/null
+++ b/docs/dev/admin-guide/amqp-network-config/index.html
@@ -0,0 +1,2199 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>AMQP 1.0 Messaging Network Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="AMQP 1.0 Messaging Network Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="AMQP 1.0 Messaging Network Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/amqp-network-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/amqp-network-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/amqp-network-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/amqp-network-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > AMQP 1.0 Messaging Network Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#dispatch-router-configuration">Dispatch Router Configuration</a></li>
+<li><a href="#artemis-broker-configuration">Artemis Broker Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>AMQP 1.0 Messaging Network Configuration</h1>
+          
+
+        
+
+
+<p>The <em>Qpid Dispatch Router</em>, together with the <em>Apache Artemis</em> message broker, serves as the default <em>AMQP 1.0 Messaging Network</em> that is used in Hono&rsquo;s example deployment as described in the <a href="/hono/docs/dev/deployment/">Deployment Guides</a>.</p>
+
+<p>The Dispatch Router component exposes service endpoints implementing the <em>north bound</em> part of Hono&rsquo;s <a href="/hono/docs/dev/api/telemetry-api/">Telemetry</a>, <a href="/hono/docs/dev/api/event-api/">Event</a> and <a href="/hono/docs/dev/api/command-and-control-api/">Command &amp; Control</a> APIs which are used by applications to interact with devices.</p>
+
+<h2 id="dispatch-router-configuration">Dispatch Router Configuration</h2>
+
+<p>The Dispatch Router is part of the <a href="https://qpid.apache.org">Apache Qpid project</a>. Hono uses Dispatch Router by means of the <a href="https://enmasse.io">EnMasse</a> project&rsquo;s <a href="https://quay.io/repository/enmasse/qdrouterd-base">Dispatch Router Docker image</a> created from the Qpid project source code.</p>
+
+<p>The Dispatch Router can be configured by means of configuration files. Hono includes an example configuration in the <code>deploy/src/main/config/qpid</code> folder which is used by the example deployment scripts. Please refer to the <a href="https://qpid.apache.org/components/dispatch-router/index.html">Dispatch Router documentation</a> for details regarding the configuration file format and options.</p>
+
+<h2 id="artemis-broker-configuration">Artemis Broker Configuration</h2>
+
+<p>The Artemis Broker is part of the <a href="https://activemq.apache.org">Apache ActiveMQ project</a>. Hono uses Artemis by means of the <a href="https://enmasse.io">EnMasse</a> project&rsquo;s <a href="https://hub.docker.com/r/enmasseproject/activemq-artemis">Artemis Docker image</a> created from the Artemis project source code.</p>
+
+<p>The Artemis Broker can be configured by means of configuration files. Hono includes an example configuration in the <code>deploy/src/main/config/artemis</code> folder which is used by the example deployment scripts. Please refer to the <a href="https://activemq.apache.org/components/artemis/documentation/">Artemis documentation</a> for details regarding the configuration file format and options.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/auth-server-config/index.html b/docs/dev/admin-guide/auth-server-config/index.html
new file mode 100644
index 0000000..652ec37
--- /dev/null
+++ b/docs/dev/admin-guide/auth-server-config/index.html
@@ -0,0 +1,2405 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Auth Server Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Auth Server Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Auth Server Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/auth-server-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/auth-server-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/auth-server-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/auth-server-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Auth Server Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#service-configuration">Service Configuration</a></li>
+<li><a href="#port-configuration">Port Configuration</a>
+<ul>
+<li><a href="#secure-port-only">Secure Port Only</a></li>
+<li><a href="#insecure-port-only">Insecure Port Only</a></li>
+<li><a href="#dual-port">Dual Port</a></li>
+<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+</ul></li>
+<li><a href="#metrics-configuration">Metrics Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Auth Server Configuration</h1>
+          
+
+        
+
+
+<p>The Auth Server component exposes a service endpoint implementing Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/dev/api/authentication-api/">Authentication</a> API. Other services use this component for authenticating clients and retrieving a token asserting the client&rsquo;s identity and corresponding authorities.</p>
+
+<p>This component serves as a default implementation of the <em>Authentication</em> API only. On startup, it reads in all identities and their authorities from a JSON file from the file system. All data is then kept in memory and there are no remote service APIs for managing the identities and their authorities.</p>
+
+<p>The Auth Server is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-auth/">Docker image</a> created from it.</p>
+
+<h2 id="service-configuration">Service Configuration</h2>
+
+<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/dev/admin-guide/common-config/">Common Configuration</a>.</p>
+
+<p>The server can be configured by means of environment variables or corresponding command line options.
+The following table provides an overview of the configuration variables and corresponding command line options that the server supports:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td align="center">no</td>
+<td align="left"><em>#CPU cores</em></td>
+<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_BIND_ADDRESS</code><br><code>--hono.auth.amqp.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_CERT_PATH</code><br><code>--hono.auth.amqp.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AUTH_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_AUTH_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_INSECURE_PORT</code><br><code>--hono.auth.amqp.insecurePort</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The insecure port the server should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.auth.amqp.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.auth.amqp.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_AUTH_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_KEY_PATH</code><br><code>--hono.auth.amqp.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the server process is running under. This option must be used in conjunction with <code>HONO_AUTH_CERT_PATH</code>.<br>Alternatively, the <code>HONO_AUTH_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.auth.amqp.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_KEY_STORE_PATH</code><br><code>--hono.auth.amqp.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_AUTH_AMQP_KEY_PATH</code> and <code>HONO_AUTH_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.auth.amqp.nativeTlsRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_PORT</code><br><code>--hono.auth.amqp.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>5671</code></td>
+<td align="left">The secure port that the server should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.auth.amqp.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_TRUST_STORE_PASSWORD</code><br><code>--hono.auth.amqp.trustStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the trust store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_AMQP_TRUST_STORE_PATH</code><br><code>--hono.auth.amqp.trustStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the CA certificates the service uses for authenticating clients. The key store format can be either <code>JKS</code>, <code>PKCS12</code> or <code>PEM</code> indicated by a <code>.jks</code>, <code>.p12</code> or <code>.pem</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_SVC_PERMISSIONS_PATH</code><br><code>--hono.auth.svc.permissionsPath</code></td>
+<td align="center">no</td>
+<td align="left"><code>classpath:/</code><br><code>permissions.json</code></td>
+<td align="left">The Spring resource URI of the JSON file defining the identities and corresponding authorities on Hono&rsquo;s endpoint resources. The default file bundled with the Auth Server defines authorities required by protocol adapters and downstream consumer. The default permissions file should <strong>only be used for evaluation purposes</strong>.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_SVC_SIGNING_KEY_PATH</code><br><code>--hono.auth.svc.signing.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting an authenticated client&rsquo;s identity and authorities. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_AUTH_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_AUTH_AMQP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.auth.svc.signing.sharedSecret</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">A string to derive a symmetric key from that is used for signing tokens asserting an authenticated client&rsquo;s identity and authorities. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_AUTH_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.auth.svc.signing.tokenExpiration</code></td>
+<td align="center">no</td>
+<td align="left">600</td>
+<td align="left">The number of seconds after which the tokens created by this service for asserting an authenticated client&rsquo;s identity should be considered invalid. Other Hono components will close AMQP connections with clients after this period in order to force the client to authenticate again and create a new token. In closed environments it should be save to set this value to a much higher value, e.g. several hours.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The variables only need to be set if the default value does not match your environment.</p>
+
+<h2 id="port-configuration">Port Configuration</h2>
+
+<p>The Auth Server can be configured to listen for connections on</p>
+
+<ul>
+<li>a secure port only (default) or</li>
+<li>an insecure port only or</li>
+<li>both a secure and an insecure port (dual port configuration)</li>
+</ul>
+
+<p>The server will fail to start if none of the ports is configured properly.</p>
+
+<h3 id="secure-port-only">Secure Port Only</h3>
+
+<p>The server needs to be configured with a private key, a certificate holding the public key and a trust store in order to open a TLS secured port.</p>
+
+<p>There are two alternative ways for setting the private key and certificate:</p>
+
+<ol>
+<li>Setting the <code>HONO_AUTH_AMQP_KEY_STORE_PATH</code> and the <code>HONO_AUTH_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
+<li>setting the <code>HONO_AUTH_AMQP_KEY_PATH</code> and <code>HONO_AUTH_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
+</ol>
+
+<p>In order to set the trust store, the <code>HONO_AUTH_AMQP_TRUST_STORE_PATH</code> variable needs to be set to a key store containing the trusted root CA certificates. The <code>HONO_AUTH_AMQP_TRUST_STORE_PASSWORD</code> variable needs to be set if the key store requires a pass phrase for reading its contents.</p>
+
+<p>When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the <code>HONO_AUTH_AMQP_PORT</code> variable.</p>
+
+<p>The <code>HONO_AUTH_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="insecure-port-only">Insecure Port Only</h3>
+
+<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
+
+<ul>
+<li>explicitly setting <code>HONO_AUTH_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
+<li>implicitly configuring the default AMQP port (5672) by simply setting <code>HONO_AUTH_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
+</ul>
+
+<p>The server issues a warning on the console if <code>HONO_AUTH_AMQP_INSECURE_PORT</code> is set to the default secure AMQP port (5671).</p>
+
+<p>The <code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
+
+<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="dual-port">Dual Port</h3>
+
+<p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>
+
+<p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>
+
+<p>Since the secure port may need different visibility in the network setup compared to the secure port, it has it&rsquo;s own binding address <code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
+This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>
+
+<h3 id="ephemeral-ports">Ephemeral Ports</h3>
+
+<p>The server may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
+
+<h2 id="metrics-configuration">Metrics Configuration</h2>
+
+<p>See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/common-config/index.html b/docs/dev/admin-guide/common-config/index.html
new file mode 100644
index 0000000..d82f28b
--- /dev/null
+++ b/docs/dev/admin-guide/common-config/index.html
@@ -0,0 +1,2270 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Common Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Common Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Common Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/common-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/common-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/common-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/common-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/common-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Common Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#java-vm-options">Java VM Options</a></li>
+<li><a href="#vert-x-options">Vert.x Options</a>
+<ul>
+<li><a href="#using-epoll-on-linux">Using epoll() on Linux</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Common Configuration</h1>
+          
+
+        
+
+
+<p>Most Hono components support a common set of configuration options. This section
+describes those options.</p>
+
+<p>Each component which supports the following options explicitly states so. If
+it doesn&rsquo;t, then these options are not supported by this component.</p>
+
+<h2 id="java-vm-options">Java VM Options</h2>
+
+<p>The Java VM started in Hono&rsquo;s components can be configured with arbitrary command line options by means of setting the <code>_JAVA_OPTIONS</code> environment variable.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>_JAVA_OPTIONS</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">Any options that should be passed to the Java VM on the command line, e.g. <code>-Xmx128m</code></td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="vert-x-options">Vert.x Options</h2>
+
+<p>The vert.x framework instance used to run Hono&rsquo;s components on can be configured using the following environment variables or corresponding command line options:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_VERTX_DNS_QUERY_TIMEOUT</code><br><code>--hono.vertx.dnsQueryTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>5000</code></td>
+<td align="left">The amount of time (in milliseconds) after which a DNS query is considered to be failed. Setting this variable to a smaller value may help to reduce the time required to establish connections to the services this adapter depends on. However, setting it to a value that is too small for any DNS query to succeed will effectively prevent any connections to be established at all.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME_MILLIS</code><br><code>--hono.vertx.maxEventLoopExecuteTimeMillis</code></td>
+<td align="center">no</td>
+<td align="left"><code>2000</code></td>
+<td align="left">The maximum number of milliseconds that a task on the event loop may run without being considered to block the event loop.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_VERTX_PREFER_NATIVE</code><br><code>--hono.vertx.preferNative</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">Tries to enable <em>epoll()</em> support on Linux (if available). See the <a href="./#epoll">notes below</a> for an explanation of the benefits of enabling <em>epoll</em>.</td>
+</tr>
+</tbody>
+</table>
+
+<p><a name="epoll"></a></p>
+
+<h3 id="using-epoll-on-linux">Using epoll() on Linux</h3>
+
+<p>Using <code>epoll()</code> on Linux may provide better performance for applications which
+have a high I/O throughput. Especially when the application supports an
+asynchronous I/O model. This is true for most Hono components and applications using Hono.</p>
+
+<p>The <em>Netty</em> framework supports using <code>epoll()</code> on Linux x86_64 based systems.
+Hono provides the a Maven build profile for enabling
+support for <em>epoll</em> during the build process.</p>
+
+<p>In order to use <em>epoll</em></p>
+
+<ul>
+<li>Hono needs to be built with the <code>netty-native-linux-x86_64</code> Maven profile enabled and</li>
+<li>the <code>HONO_VERTX_PREFER_NATIVE</code> environment variable needs to be set to <code>true</code> on startup.</li>
+</ul>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/device-registry-config/index.html b/docs/dev/admin-guide/device-registry-config/index.html
new file mode 100644
index 0000000..638fcd9
--- /dev/null
+++ b/docs/dev/admin-guide/device-registry-config/index.html
@@ -0,0 +1,2656 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Device Registry Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Device Registry Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Device Registry Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/device-registry-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/device-registry-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/device-registry-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/device-registry-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Device Registry Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#service-configuration">Service Configuration</a></li>
+<li><a href="#port-configuration">Port Configuration</a>
+<ul>
+<li><a href="#secure-port-only">Secure Port Only</a></li>
+<li><a href="#insecure-port-only">Insecure Port Only</a></li>
+<li><a href="#dual-port">Dual Port</a></li>
+<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+</ul></li>
+<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
+<li><a href="#metrics-configuration">Metrics Configuration</a></li>
+<li><a href="#device-identities-file-format">Device Identities File Format</a></li>
+<li><a href="#credentials-file-format">Credentials File Format</a></li>
+<li><a href="#tenants-file-format">Tenants File Format</a></li>
+<li><a href="#configuring-gateway-devices">Configuring Gateway Devices</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Device Registry Configuration</h1>
+          
+
+        
+
+
+<p>The Device Registry component provides an exemplary implementation of Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/dev/api/device-registration-api/">Device Registration</a>,
+<a href="/hono/docs/dev/api/credentials-api/">Credentials</a>, <a href="/hono/docs/dev/api/tenant-api/">Tenant</a> and <a href="/hono/docs/dev/api/device-connection-api/">Device Connection</a> APIs.</p>
+
+<p>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>There is no particular technical reason to implement these three API&rsquo;s in one component, so for production scenarios there might be up to three different components each implementing one of the API&rsquo;s.</p>
+
+<p>The Device Registry component also exposes <a href="/hono/docs/dev/user-guide/device-registry/">HTTP based resources</a> for managing tenants and the registration information and credentials of devices.</p>
+
+<p>The Device Registry is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-device-registry/">Docker image</a> created from it.</p>
+
+<h2 id="service-configuration">Service Configuration</h2>
+
+<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/dev/admin-guide/common-config/">Common Configuration</a>.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Device Registry.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td align="center">no</td>
+<td align="left"><em>#CPU cores</em></td>
+<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_APP_TYPE</code><br><code>--hono.app.type</code></td>
+<td align="center">no</td>
+<td align="left"><code>file</code></td>
+<td align="left">The device registry implementation to use. This may be either <code>file</code> or <code>dummy</code>. In the case of <code>dummy</code> a dummy implementation will be used which will consider all devices queried for as valid devices, having the access credentials <code>hono-secret</code>. Of course this shouldn&rsquo;t be used for productive use.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CREDENTIALS_SVC_CACHE_MAX_AGE</code><br><code>--hono.credentials.svc.cacheMaxAge</code></td>
+<td align="center">no</td>
+<td align="left"><code>180</code></td>
+<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CREDENTIALS_SVC_FILENAME</code><br><code>--hono.credentials.svc.filename</code></td>
+<td align="center">no</td>
+<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>credentials.json</code></td>
+<td align="left">The path to the file where the server stores credentials of devices. Hono tries to read credentials from this file during start-up and writes out all identities to this file periodically if property <code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#credentials-file-format">Credentials File Format</a> for details regarding the file&rsquo;s format.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS</code><br><code>--hono.credentials.svc.maxBcryptIterations</code></td>
+<td align="center">no</td>
+<td align="left"><code>10</code></td>
+<td align="left">The maximum number of iterations that are supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the number of iterations.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED</code><br><code>--hono.credentials.svc.modificationEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">When set to <code>false</code> the credentials contained in the registry cannot be updated nor removed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.credentials.svc.receiverLinkCredit</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The number of credits to flow to a client connecting to the Credentials endpoint.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code><br><code>--hono.credentials.svc.saveToFile</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">When set to <code>true</code> the server will periodically write out the registered credentials to the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_DEVICE_CONNECTION_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.deviceConnection.svc.maxDevicesPerTenant</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The number of devices per tenant for which connection related data is stored. It is an error to set this property to a value &lt;= 0.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>5671</code></td>
+<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_BIND_ADDRESS</code><br><code>--hono.registry.rest.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_CERT_PATH</code><br><code>--hono.registry.rest.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT</code><br><code>--hono.registry.rest.insecurePort</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.rest.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.rest.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_REST_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_KEY_PATH</code><br><code>--hono.registry.rest.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_KEY_STORE_PASSWORD</code><br><code>--hono.registry.rest.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_KEY_STORE_PATH</code><br><code>--hono.registry.rest.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_REST_KEY_PATH</code> and <code>HONO_REGISTRY_REST_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_REST_PORT</code><br><code>--hono.registry.rest.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>5671</code></td>
+<td align="left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_CACHE_MAX_AGE</code><br><code>--hono.registry.svc.cacheMaxAge</code></td>
+<td align="center">no</td>
+<td align="left"><code>180</code></td>
+<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_FILENAME</code><br><code>--hono.registry.svc.filename</code></td>
+<td align="center">no</td>
+<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>device-identities.json</code></td>
+<td align="left">The path to the file where the server stores identities of registered devices. Hono tries to read device identities from this file during start-up and writes out all identities to this file periodically if property <code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#device-identities-file-format">Device Identities File Format</a> for details regarding the file&rsquo;s format.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.registry.svc.maxDevicesPerTenant</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The number of devices that can be registered for each tenant. It is an error to set this property to a value &lt;= 0.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_MODIFICATION_ENABLED</code><br><code>--hono.registry.svc.modificationEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">When set to <code>false</code> the device information contained in the registry cannot be updated nor removed from the registry.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.registry.svc.receiverLinkCredit</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The number of credits to flow to a client connecting to the Device Registration endpoint.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code><br><code>--hono.registry.svc.saveToFile</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">When set to <code>true</code> the server will periodically write out the registered device information to the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code><br><code>--hono.registry.svc.signing.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting a device&rsquo;s registration status. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_REGISTRY_AMP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.registry.svc.signing.sharedSecret</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">A string to derive a symmetric key from that is used for signing tokens asserting a device&rsquo;s registration status. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.registry.svc.signing.tokenExpiration</code></td>
+<td align="center">no</td>
+<td align="left"><code>10</code></td>
+<td align="left">The expiration period to use for the tokens asserting the registration status of devices.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_TENANT_SVC_CACHE_MAX_AGE</code><br><code>--hono.tenant.svc.cacheMaxAge</code></td>
+<td align="center">no</td>
+<td align="left"><code>180</code></td>
+<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_TENANT_SVC_FILENAME</code><br><code>--hono.tenant.svc.filename</code></td>
+<td align="center">no</td>
+<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>tenants.json</code></td>
+<td align="left">The path to the file where the server stores tenants. Hono tries to read tenants from this file during start-up and writes out all identities to this file periodically if property <code>HONO_TENANT_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#tenants-file-format">Tenants File Format</a> for details regarding the file&rsquo;s format.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_TENANT_SVC_MODIFICATION_ENABLED</code><br><code>--hono.tenant.svc.modificationEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">When set to <code>false</code> the tenants contained in the registry cannot be updated nor removed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_TENANT_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.tenant.svc.receiverLinkCredit</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The number of credits to flow to a client connecting to the Tenant endpoint.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_TENANT_SVC_SAVE_TO_FILE</code><br><code>--hono.tenant.svc.saveToFile</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">When set to <code>true</code> the server will periodically write out the registered tenants to the file specified by the <code>HONO_TENANTS_SVC_TENANT_FILENAME</code> property.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The variables only need to be set if the default value does not match your environment.</p>
+
+<h2 id="port-configuration">Port Configuration</h2>
+
+<p>The Device Registry supports configuration of both, an AMQP based endpoint as well as an HTTP based endpoint proving RESTful resources for managing registration information and credentials. Both endpoints can be configured to listen for connections on</p>
+
+<ul>
+<li>a secure port only (default) or</li>
+<li>an insecure port only or</li>
+<li>both a secure and an insecure port (dual port configuration)</li>
+</ul>
+
+<p>The server will fail to start if none of the ports is configured properly.</p>
+
+<p>The following sections apply to configuring both, the AMQP endpoint as well as the REST endpoint. The environment variables to use for configuring the REST endpoint are the same as the ones for the AMQP endpoint, substituting <code>_AMQP_</code> with <code>_REST_</code>, e.g. <code>HONO_REGISTRY_REST_KEY_PATH</code> instead of <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.</p>
+
+<h3 id="secure-port-only">Secure Port Only</h3>
+
+<p>The server needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
+
+<p>There are two alternative ways for doing so:</p>
+
+<ol>
+<li>Setting the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> and the <code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
+<li>setting the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
+</ol>
+
+<p>When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the <code>HONO_REGISTRY_AMQP_PORT</code> variable.</p>
+
+<p>The <code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="insecure-port-only">Insecure Port Only</h3>
+
+<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
+
+<ul>
+<li>explicitly setting <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
+<li>implicitly configuring the default AMQP port (5672) by simply setting <code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
+</ul>
+
+<p>The server issues a warning on the console if <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> is set to the default secure AMQP port (5671).</p>
+
+<p>The <code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
+
+<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="dual-port">Dual Port</h3>
+
+<p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>
+
+<p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>
+
+<p>Since the secure port may need different visibility in the network setup compared to the secure port, it has it&rsquo;s own binding address <code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
+This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>
+
+<h3 id="ephemeral-ports">Ephemeral Ports</h3>
+
+<p>The server may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
+
+<h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>
+
+<p>The Device Registry requires a connection to an implementation of Hono&rsquo;s Authentication API in order to authenticate and authorize client requests.</p>
+
+<p>The connection is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_AUTH</code>. Since Hono&rsquo;s Authentication Service does not allow caching of the responses, the cache properties
+can be ignored.</p>
+
+<p>In addition to the standard client configuration properties, following properties need to be set for the connection:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the public key that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, the service falls back to the key indicated by the <code>HONO_AUTH_CERT_PATH</code> variable. If that variable is also not set, startup of the service fails.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an asymmetric key pair can be used for validating (and signing) by setting the <code>HONO_AUTH_SIGNING_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="metrics-configuration">Metrics Configuration</h2>
+
+<p>See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
+
+<h2 id="device-identities-file-format">Device Identities File Format</h2>
+
+<p>The Device Registry supports persisting the device identities and their registration information to a JSON file in the local file system.
+The <em>Getting started Guide</em> includes an example configuration which illustrates the file format used. The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-device-identities.json</code>.</p>
+
+<h2 id="credentials-file-format">Credentials File Format</h2>
+
+<p>The Device Registry supports persisting the devices&rsquo; credentials to a JSON file in the local file system.
+The <em>Getting started Guide</em> includes an example configuration which illustrates the file format used. The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-credentials.json</code>.</p>
+
+<h2 id="tenants-file-format">Tenants File Format</h2>
+
+<p>The Device Registry supports persisting tenants to a JSON file in the local file system.
+The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-tenants.json</code>.</p>
+
+<h2 id="configuring-gateway-devices">Configuring Gateway Devices</h2>
+
+<p>The Device Registry supports devices to <em>act on behalf of</em> other devices. This is particularly useful for cases where a device does not connect directly to a Hono protocol adapter but is connected to a <em>gateway</em> component that is usually specific to the device&rsquo;s communication protocol. It is the gateway component which then connects to a Hono protocol adapter and publishes data on behalf of the device(s). Examples of such a set up include devices using <a href="https://www.sigfox.com">SigFox</a> or <a href="https://www.lora-alliance.org/">LoRa</a> for communication.</p>
+
+<p>In these cases the protocol adapter will authenticate the gateway component instead of the device for which it wants to publish data. In order to verify that the gateway is <em>authorized</em> to publish data on behalf of the particular device, the protocol adapter should include the gateway&rsquo;s device identifier (as determined during the authentication process) in its invocation of the Device Registration API&rsquo;s <em>assert Device Registration</em> operation.</p>
+
+<p>The Device Registry will then do the following:
+1. Verify that the device exists and is enabled.
+2. Verify that the gateway exists and is enabled.
+3. Verify that the device&rsquo;s registration information contains a property called <code>via</code> and that its value is either the gateway&rsquo;s device identifier or a JSON array which contains the gateway&rsquo;s device identifier as one of its values.</p>
+
+<p>Only if all conditions are met, the Device Registry returns an assertion of the device&rsquo;s registration status. The protocol adapter can then forward the published data to the AMQP Messaging Network in the same way as for any device that connects directly to the adapter.</p>
+
+<p>The example configuration file (located at <code>/deploy/src/main/deploy/example-device-identities.json</code>) includes a device and a corresponding gateway configured in this way.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/hono-client-configuration/index.html b/docs/dev/admin-guide/hono-client-configuration/index.html
new file mode 100644
index 0000000..55c52d3
--- /dev/null
+++ b/docs/dev/admin-guide/hono-client-configuration/index.html
@@ -0,0 +1,2460 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Hono Client Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Hono Client Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Hono Client Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/hono-client-configuration/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/hono-client-configuration/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/hono-client-configuration/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/hono-client-configuration.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Hono Client Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#connection-properties">Connection Properties</a></li>
+<li><a href="#response-caching">Response Caching</a></li>
+<li><a href="#using-tls">Using TLS</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Hono Client Configuration</h1>
+          
+
+        
+
+
+<p>The <code>org.eclipse.hono.client.HonoClient</code> factory can be used to create specific clients for accessing services implementing one or more of Hono&rsquo;s APIs.</p>
+
+<p>The factory uses environment variables and/or command line options to configure the connection to the service and the caching of responses to service invocations. All variables used for configuring a particular Hono Client factory instance share a common <em>prefix</em>. This way, multiple sets of variables can be used to configure multiple factories for connecting to different service endpoints without interfering with each other. For example, the set of variables for configuring the client factory for the Device Registration service may use the common prefix <code>HONO_REGISTRATION</code> whereas the set for configuring the factory for the Credentials service may use <code>HONO_CREDENTIALS</code>.</p>
+
+<h2 id="connection-properties">Connection Properties</h2>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the AMQP connection to the service.
+Note that the variables map to the properties of class <code>org.eclipse.hono.config.ClientConfigProperties</code> which can be used to programmatically configure a client.</p>
+
+<p>The variable names contain <code>${PREFIX}</code> as a placeholder for the particular <em>common prefix</em> being used. The <code>${prefix}</code> placeholder used in the command line option name is the same as <code>${PREFIX}</code>, using all lower case characters and <code>.</code> instead of <code>_</code> as the delimiter,  e.g. the variable prefix <code>HONO_CREDENTIALS</code> corresponds to the command line option prefix <code>hono.credentials</code>).</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>${PREFIX}_AMQP_HOSTNAME</code><br><code>--${prefix}.amqpHostname</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The name to use as the <em>hostname</em> in the client&rsquo;s AMQP <em>open</em> frame during connection establishment. This variable can be used to indicate the <em>virtual host</em> to connect to on the server.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_CERT_PATH</code><br><code>--${prefix}.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the client should use for authenticating to the server. This variable must be used in conjunction with <code>${PREFIX}_KEY_PATH</code>.<br>Alternatively, the <code>${PREFIX}_KEY_STORE_PATH</code> variable can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_CONNECT_TIMEOUT</code><br><code>--${prefix}.connectTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>5000</code></td>
+<td align="left">The maximum amount of time (milliseconds) that the client should wait for the AMQP connection to be opened. This includes the time for TCP/TLS connection establishment, SASL handshake and exchange of the AMQP <em>open</em> frame. This property can be used to tune the time period to wait according to the network latency involved with the connection between the client and the service.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_CREDENTIALS_PATH</code><br><code>--${prefix}.credentialsPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to a properties file that contains a <em>username</em> and a <em>password</em> property to use for authenticating to the service.<br>This variable is an alternative to using <code>${PREFIX}_USERNAME</code> and <code>${PREFIX}_PASSWORD</code> which has the advantage of not needing to expose the secret (password) in the client process&rsquo; environment.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_FLOW_LATENCY</code><br><code>--${prefix}.flowLatency</code></td>
+<td align="center">no</td>
+<td align="left"><code>20</code></td>
+<td align="left">The maximum amount of time (milliseconds) that the client should wait for <em>credits</em> after a link to the service has been established.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_HOST</code><br><code>--${prefix}.host</code></td>
+<td align="center">no</td>
+<td align="left"><code>localhost</code></td>
+<td align="left">The IP address or name of the host to connect to. NB: This needs to be set to an address that can be resolved within the network the adapter runs on. When running as a Docker container, use Docker&rsquo;s <code>--network</code> command line option to attach the local container to the Docker network that the service is running on.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_HOSTNAME_VERIFICATION_REQUIRED</code><br><code>--${prefix}.hostnameVerificationRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">A flag indicating whether the value of the <code>${PREFIX}_HOST</code> variable must match the <em>distinguished name</em> or any of the <em>alternative names</em> asserted by the server&rsquo;s certificate when connecting using TLS.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_IDLE_TIMEOUT</code><br><code>--${prefix}.idleTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>16000</code></td>
+<td align="left">Sets the amount of time in milliseconds after which a connection will be closed when no frames have been received from the remote peer. This property is also used to configure a heartbeat mechanism, checking that the connection is still alive. The corresponding heartbeat interval will be set to <em>idleTimeout/2</em> ms.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_INITIAL_CREDITS</code><br><code>--${prefix}.initialCredits</code></td>
+<td align="center">no</td>
+<td align="left"><code>200</code></td>
+<td align="left">The number of <em>credits</em> that a consuming client will initially issue to the service (sender) after link creation. This value effectively limits the number of messages that can be <em>in flight</em> unsettled.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_KEY_PATH</code><br><code>--${prefix}.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the client should use for authenticating to the server. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the client process is running under. This variable must be used in conjunction with <code>${PREFIX}_CERT_PATH</code>. Alternatively, the <code>${PREFIX}_KEY_STORE_PATH</code> variable can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_KEY_STORE_PASSWORD</code><br><code>--${prefix}.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_KEY_STORE_PATH</code><br><code>--${prefix}.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the client should use for authenticating to the server. Either this variable or the <code>${PREFIX}_KEY_PATH</code> and <code>${PREFIX}_CERT_PATH</code> variables need to be set in order to enable <em>SASL External</em> based authentication to the server. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_LINK_ESTABLISMENT_TIMEOUT</code><br><code>--${prefix}.linkEstablishmentTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum amount of time (milliseconds) that the client should wait for the service&rsquo;s <em>attach</em> frame during link establishment. This property can be used to tune the time period to wait according to the network latency involved with the communication link between the client and the service.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_NAME</code><br><code>--${prefix}.name</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The name to use as the <em>container-id</em> in the client&rsquo;s AMQP <em>open</em> frame during connection establishment.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_PORT</code><br><code>--${prefix}.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>5671</code></td>
+<td align="left">The port that the service is listening on.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_USERNAME</code><br><code>--${prefix}.username</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The username to use for authenticating to the service. This property (and the corresponding <em>password</em>) needs to be set in order to enable <em>SASL Plain</em> based authentication to the service.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_PASSWORD</code><br><code>--${prefix}.password</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password to use for authenticating to the service.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_SEND_MESSAGE_TIMEOUT</code><br><code>--${prefix}.sendMessageTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum number of milliseconds to wait for a delivery update after an event or command message was sent before the send operation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_RECONNECT_ATTEMPTS</code><br><code>--${prefix}.reconnectAttempts</code></td>
+<td align="center">no</td>
+<td align="left"><code>-1</code></td>
+<td align="left">The number of attempts (in addition to the original connection attempt) that the client should make in order to establish an AMQP connection with the peer before giving up. The default value of this property is -1 which means that the client will try forever.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_RECONNECT_DELAY_INCREMENT</code><br><code>--${prefix}.reconnectDelayIncrement</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The factor (milliseconds) used in the exponential backoff algorithm for determining the delay before trying to re-establish an AMQP connection with the peer. The delay after an initial, failed connection attempt will be the value of the <code>${PREFIX}_RECONNECT_MIN_DELAY</code> variable. Each subsequent connection attempt will use a random delay between the minimum delay and the value determined by exponentially increasing the delay by the <code>${PREFIX}_RECONNECT_DELAY_INCREMENT</code> factor. The overall limit of the delay time is defined by the <code>${PREFIX}_RECONNECT_MAX_DELAY</code> variable.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_RECONNECT_MAX_DELAY</code><br><code>--${prefix}.reconnectMaxDelay</code></td>
+<td align="center">no</td>
+<td align="left"><code>7000</code></td>
+<td align="left">The maximum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_RECONNECT_MIN_DELAY</code><br><code>--${prefix}.reconnectMinDelay</code></td>
+<td align="center">no</td>
+<td align="left"><code>0</code></td>
+<td align="left">The minimum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_REQUEST_TIMEOUT</code><br><code>--${prefix}.requestTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>200</code></td>
+<td align="left">The maximum number of milliseconds to wait for a response before a service invocation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_SECURE_PROTOCOLS</code><br><code>--${prefix}.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_TLS_ENABLED</code><br><code>--${prefix}.tlsEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the connection to the peer will be encrypted using TLS and the peer&rsquo;s identity will be verified using the JVM&rsquo;s configured standard trust store.<br>This variable only needs to be set to enable TLS explicitly if no specific trust store is configured using the <code>${PREFIX}_TRUST_STORE_PATH</code> variable.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_TRUST_STORE_PATH</code><br><code>--${prefix}.trustStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the CA certificates the adapter uses for authenticating the service. This property <strong>must</strong> be set if the service has been configured to support TLS. The key store format can be either <code>JKS</code>, <code>PKCS12</code> or <code>PEM</code> indicated by a <code>.jks</code>, <code>.p12</code> or <code>.pem</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_TRUST_STORE_PASSWORD</code><br><code>--${prefix}.trustStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the trust store.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="response-caching">Response Caching</h2>
+
+<p>The clients created by a Hono client factory support the caching of responses received in response to service invocations. Caching can greatly improve performance by preventing costly invocations of remote service operations. However, it usually only makes sense for resources that do not change too frequently. The Hono client follows the <a href="https://tools.ietf.org/html/rfc2616#section-13.4">approach to caching used in HTTP 1.1</a>. In particular, it supports <a href="https://tools.ietf.org/html/rfc2616#section-14.9"><em>cache directives</em></a> that a service includes in the response messages it sends back to the Hono client.</p>
+
+<p>In order to enable caching, the <code>org.eclipse.hono.client.impl.HonoClientImpl</code> factory class needs to be configured with a cache manager using the <em>setCacheManager</em> method. Any specific client created by the factory will then cache responses to service invocations based on the following rules:</p>
+
+<ol>
+<li>If the response contains a <code>no-cache</code> directive, the response is not cached at all.</li>
+<li>Otherwise, if the response contains a <code>max-age</code> directive, the response is cached for the number of seconds specified by the directive.</li>
+<li>Otherwise, if the response message does not contain any of the above directives and the response&rsquo;s status code is one of the codes defined in <a href="https://tools.ietf.org/html/rfc2616#section-13.4">RFC 2616, Section 13.4 Response Cacheability</a>, the response is put to the cache using the default timeout defined by the <code>${PREFIX}_RESPONSE_CACHE_DEFAULT_TIMEOUT</code> variable as the maximum age.</li>
+</ol>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Hono client&rsquo;s caching behavior.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>${PREFIX}_RESPONSE_CACHE_MIN_SIZE</code><br><code>--${prefix}.responseCacheMinSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>20</code></td>
+<td align="left">The minimum number of responses that can be cached.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_RESPONSE_CACHE_MAX_SIZE</code><br><code>--${prefix}.responseCacheMaxSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum number of responses that can be cached. It is up to the particular cache implementation, how to deal with new cache entries once this limit has been reached.</td>
+</tr>
+
+<tr>
+<td align="left"><code>${PREFIX}_RESPONSE_CACHE_DEFAULT_TIMEOUT</code><br><code>--${prefix}.responseCacheDefaultTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>600</code></td>
+<td align="left">The default number of seconds after which cached responses should be considered invalid.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="using-tls">Using TLS</h2>
+
+<p>The client can be configured to use TLS for</p>
+
+<ul>
+<li>authenticating the server during connection establishment and</li>
+<li>(optionally) authenticating to the server using a client certificate (if the server supports this)</li>
+</ul>
+
+<p>In order to authenticate the server by means of the server&rsquo;s certificate, the client needs to be configured with a <em>trust anchor</em> containing the <em>certificate authorities</em> that the client trusts. The trust anchor can be configured explicitly by means of the <code>${PREFIX}_TRUST_STORE_PATH</code> and <code>${PREFIX}_TRUST_STORE_PASSWORD</code> variables. This is most useful in cases where the server&rsquo;s certificate has not been signed by one of the public root CAs that are contained in the JRE&rsquo;s standard trust store. However, if the server does use a certificate signed by such a public CA, then it is sufficient to set the <code>${PREFIX}_TLS_ENABLED</code> variable to <code>true</code> in order for the client to support TLS when connecting to the server.</p>
+
+<p>The client can also be configured to authenticate to the server by means of an X.509 client certificate if the server is configured to support this. The <code>${PREFIX}_CERT_PATH</code> and <code>${PREFIX}_KEY_PATH</code> variables can be used to set the paths to PEM files containing the certificate and private key. Alternatively, the <code>${PREFIX}_KEY_STORE_PATH</code> and <code>${PREFIX}_KEY_STORE_PASSWORD</code> variables can be used to set the path and password of a key store which contains both the certificate as well as the private key.</p>
+
+<p>The client supports TLS 1.2 only by default for negotiating TLS sessions with servers. Additional protocols can be enabled by setting the <code>${PREFIX}_SECURE_PROTOCOLS</code> variable to a comma separated list of protocol names as defined in the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a>. However, great care should be taken when enabling older protocols because most of them are vulnerable to attacks.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/http-adapter-config/index.html b/docs/dev/admin-guide/http-adapter-config/index.html
new file mode 100644
index 0000000..2203b76
--- /dev/null
+++ b/docs/dev/admin-guide/http-adapter-config/index.html
@@ -0,0 +1,2487 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>HTTP Adapter Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="HTTP Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="HTTP Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/http-adapter-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/http-adapter-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/http-adapter-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/http-adapter-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > HTTP Adapter Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#service-configuration">Service Configuration</a></li>
+<li><a href="#port-configuration">Port Configuration</a>
+<ul>
+<li><a href="#secure-port-only">Secure Port Only</a></li>
+<li><a href="#insecure-port-only">Insecure Port Only</a></li>
+<li><a href="#dual-port">Dual Port</a></li>
+<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+</ul></li>
+<li><a href="#amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
+<li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
+<li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
+<li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
+<li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a></li>
+<li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
+<li><a href="#metrics-configuration">Metrics Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>HTTP Adapter Configuration</h1>
+          
+
+        
+
+
+<p>The HTTP protocol adapter exposes a HTTP based API for Eclipse Hono&trade;&rsquo;s Telemetry and Event endpoints.</p>
+
+<p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-http-vertx/">Docker image</a> created from it.</p>
+
+<h2 id="service-configuration">Service Configuration</h2>
+
+<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/dev/admin-guide/common-config/">Common Configuration</a>.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the HTTP adapter.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td align="center">no</td>
+<td align="left"><em>#CPU cores</em></td>
+<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.http.authenticationRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_BIND_ADDRESS</code><br><code>--hono.http.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_CERT_PATH</code><br><code>--hono.http.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_DEFAULTS_ENABLED</code><br><code>--hono.http.defaultsEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_INSECURE_PORT</code><br><code>--hono.http.insecurePort</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.http.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.http.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_HTTP_INSECURE_PORT</code> or the default port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_KEY_PATH</code><br><code>--hono.http.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.http.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_KEY_STORE_PATH</code><br><code>--hono.http.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_HTTP_KEY_PATH</code> and <code>HONO_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_NATIVE_TLS_REQUIRED</code><br><code>--hono.http.nativeTlsRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_MAX_PAYLOAD_SIZE</code><br><code>--hono.http.maxPayloadSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>2048</code></td>
+<td align="left">The maximum allowed size of an incoming HTTP request&rsquo;s body in bytes. Requests with a larger body size are rejected with a 413 <code>Request entity too large</code> response.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_PORT</code><br><code>--hono.http.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>8443</code></td>
+<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_REALM</code><br><code>--hono.http.realm</code></td>
+<td align="center">no</td>
+<td align="left"><code>Hono</code></td>
+<td align="left">The name of the <em>realm</em> that unauthenticated devices are prompted to provide credentials for. The realm is used in the <em>WWW-Authenticate</em> header returned to devices in response to unauthenticated requests.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HTTP_SECURE_PROTOCOLS</code><br><code>--hono.http.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The variables only need to be set if the default value does not match your environment.</p>
+
+<h2 id="port-configuration">Port Configuration</h2>
+
+<p>The HTTP protocol adapter can be configured to listen for connections on</p>
+
+<ul>
+<li>a secure port only (default) or</li>
+<li>an insecure port only or</li>
+<li>both a secure and an insecure port (dual port configuration)</li>
+</ul>
+
+<p>The HTTP protocol adapter will fail to start if none of the ports is configured properly.</p>
+
+<h3 id="secure-port-only">Secure Port Only</h3>
+
+<p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
+
+<p>There are two alternative ways for doing so:</p>
+
+<ol>
+<li>Setting the <code>HONO_HTTP_KEY_STORE_PATH</code> and the <code>HONO_HTTP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
+<li>setting the <code>HONO_HTTP_KEY_PATH</code> and <code>HONO_HTTP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
+</ol>
+
+<p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure port 8443. The port number can also be set explicitly using the <code>HONO_HTTP_PORT</code> variable.</p>
+
+<p>The <code>HONO_HTTP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="insecure-port-only">Insecure Port Only</h3>
+
+<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
+
+<ul>
+<li>explicitly setting <code>HONO_HTTP_INSECURE_PORT</code> to a valid port number, or by</li>
+<li>implicitly configuring the default port (8080) by simply setting <code>HONO_HTTP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
+</ul>
+
+<p>The protocol adapter issues a warning on the console if <code>HONO_HTTP_INSECURE_PORT</code> is set to the default secure HTTP port (8443).</p>
+
+<p>The <code>HONO_HTTP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
+
+<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="dual-port">Dual Port</h3>
+
+<p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
+
+<h3 id="ephemeral-ports">Ephemeral Ports</h3>
+
+<p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
+
+<h2 id="amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h2>
+
+<p>The adapter requires a connection to the <em>AMQP 1.0 Messaging Network</em> in order to forward telemetry data and events received from devices to downstream consumers.</p>
+
+<p>The connection to the messaging network is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+with <code>HONO_MESSAGING</code> being used as <code>${PREFIX}</code>. Since there are no responses being received, the properties for configuring response caching can be ignored.</p>
+
+<h2 id="tenant-service-connection-configuration">Tenant Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> in order to retrieve information for a tenant.</p>
+
+<p>The connection to the Tenant Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_TENANT</code> and the additional values for response caching apply.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-registration-service-connection-configuration">Device Registration Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> in order to retrieve registration status assertions for connected devices.</p>
+
+<p>The connection to the Device Registration Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_REGISTRATION</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="credentials-service-connection-configuration">Credentials Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a> in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.</p>
+
+<p>The connection to the Credentials Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_CREDENTIALS</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-connection-service-connection-configuration">Device Connection Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-connection-api/">Device Connection API</a> in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.</p>
+
+<p>The connection to the Device Connection service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_DEVICE_CONNECTION</code>.</p>
+
+<p>Responses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.</p>
+
+<h2 id="resource-limits-checker-configuration">Resource Limits Checker Configuration</h2>
+
+<p>The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_HOST</code><br><code>--hono.plan.prometheusBased.host</code></td>
+<td align="center">no</td>
+<td align="left">none</td>
+<td align="left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_PORT</code><br><code>--hono.plan.prometheusBased.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>9090</code></td>
+<td align="left">The port of the Prometheus server to retrieve metrics data from.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMinSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>20</code></td>
+<td align="left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMaxSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT</code><br><code>--hono.plan.prometheusBased.cacheTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>600</code></td>
+<td align="left">The number of seconds after which the cached metrics data should be considered invalid.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="metrics-configuration">Metrics Configuration</h2>
+
+<p>See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/index.html b/docs/dev/admin-guide/index.html
new file mode 100644
index 0000000..3127e2f
--- /dev/null
+++ b/docs/dev/admin-guide/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Admin Guide :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Admin Guide :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Admin Guide :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > Admin Guide
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="admin-guide">Admin Guide</h1>
+
+<p>Learn how to operate Hono&trade; and look-up the configuration options of it&rsquo;s components.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/admin-guide/index.xml b/docs/dev/admin-guide/index.xml
new file mode 100644
index 0000000..bcc4337
--- /dev/null
+++ b/docs/dev/admin-guide/index.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Admin Guide on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/admin-guide/</link>
+    <description>Recent content in Admin Guide on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/admin-guide/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Common Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/</guid>
+      <description>&lt;p&gt;Most Hono components support a common set of configuration options. This section
+describes those options.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Auth Server Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/</guid>
+      <description>&lt;p&gt;The Auth Server component exposes a service endpoint implementing Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/authentication-api/&#34;&gt;Authentication&lt;/a&gt; API. Other services use this component for authenticating clients and retrieving a token asserting the client&amp;rsquo;s identity and corresponding authorities.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Device Registry Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/</guid>
+      <description>&lt;p&gt;The Device Registry component provides an exemplary implementation of Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/device-registration-api/&#34;&gt;Device Registration&lt;/a&gt;,
+&lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/credentials-api/&#34;&gt;Credentials&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/tenant-api/&#34;&gt;Tenant&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/device-connection-api/&#34;&gt;Device Connection&lt;/a&gt; APIs.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>HTTP Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/</guid>
+      <description>&lt;p&gt;The HTTP protocol adapter exposes a HTTP based API for Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>AMQP Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/</guid>
+      <description>&lt;p&gt;The AMQP protocol adapter allows clients (devices and gateway components) that speaks AMQP 1.0 to publish telemetry messages and events to Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>MQTT Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/</guid>
+      <description>&lt;p&gt;The MQTT protocol adapter exposes an MQTT topic hierarchy for publishing messages and events to Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Kura Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/</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>
+    </item>
+    
+    <item>
+      <title>Hono Client Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/</guid>
+      <description>&lt;p&gt;The &lt;code&gt;org.eclipse.hono.client.HonoClient&lt;/code&gt; factory can be used to create specific clients for accessing services implementing one or more of Hono&amp;rsquo;s APIs.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>AMQP 1.0 Messaging Network Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Qpid Dispatch Router&lt;/em&gt;, together with the &lt;em&gt;Apache Artemis&lt;/em&gt; message broker, serves as the default &lt;em&gt;AMQP 1.0 Messaging Network&lt;/em&gt; that is used in Hono&amp;rsquo;s example deployment as described in the &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/deployment/&#34;&gt;Deployment Guides&lt;/a&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Secure Communication</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/</guid>
+      <description>&lt;p&gt;The individual components of an Eclipse Hono&amp;trade; installation, e.g. the protocol adapters, &lt;em&gt;AMQP Messaging Network&lt;/em&gt;, &lt;em&gt;Hono Auth&lt;/em&gt; etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of &lt;em&gt;Transport Layer Security&lt;/em&gt; (TLS) and how to configure it.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Monitoring &amp; Tracing</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/</guid>
+      <description>&lt;p&gt;The individual components of an Eclipse Hono&amp;trade; installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.&lt;/p&gt;</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/admin-guide/kura-adapter-config/index.html b/docs/dev/admin-guide/kura-adapter-config/index.html
new file mode 100644
index 0000000..bb8c5e4
--- /dev/null
+++ b/docs/dev/admin-guide/kura-adapter-config/index.html
@@ -0,0 +1,2501 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Kura Adapter Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Kura Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Kura Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/kura-adapter-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/kura-adapter-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/kura-adapter-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/kura-adapter-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Kura Adapter Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#service-configuration">Service Configuration</a></li>
+<li><a href="#port-configuration">Port Configuration</a>
+<ul>
+<li><a href="#secure-port-only">Secure Port Only</a></li>
+<li><a href="#insecure-port-only">Insecure Port Only</a></li>
+<li><a href="#dual-port">Dual Port</a></li>
+<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+</ul></li>
+<li><a href="#amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
+<li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
+<li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
+<li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
+<li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a></li>
+<li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
+<li><a href="#metrics-configuration">Metrics Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Kura Adapter Configuration</h1>
+          
+
+        
+
+
+<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 adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-kura/">Docker image</a> created from it.</p>
+
+<h2 id="service-configuration">Service Configuration</h2>
+
+<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/dev/admin-guide/common-config/">Common Configuration</a>.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the MQTT adapter.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td align="center">no</td>
+<td align="left"><em>#CPU cores</em></td>
+<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_AUTHENTICATION_REQUIRED</code><br><code>--hono.kura.authenticationRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_BIND_ADDRESS</code><br><code>--hono.kura.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_CERT_PATH</code><br><code>--hono.kura.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_KURA_KEY_PATH</code>.<br>Alternatively, the <code>HONO_KURA_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_CONTROL_PREFIX</code><br><code>--hono.kura.controlPrefix</code></td>
+<td align="center">no</td>
+<td align="left"><code>$EDC</code></td>
+<td align="left">The <em>topic.control-prefix</em> to use for determining if a message published by a Kura gateway is a <em>control</em> message. All messages published to a topic that does not start with this prefix are considered <em>data</em> messages.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_CTRL_MSG_CONTENT_TYPE</code><br><code>--hono.kura.ctrlMsgContentType</code></td>
+<td align="center">no</td>
+<td align="left"><code>application/vnd.eclipse.kura-control</code></td>
+<td align="left">The content type to set on AMQP messages created from Kura <em>control</em> messages.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_DATA_MSG_CONTENT_TYPE</code><br><code>--hono.kura.dataMsgContentType</code></td>
+<td align="center">no</td>
+<td align="left"><code>application/vnd.eclipse.kura-data</code></td>
+<td align="left">The content type to set on AMQP messages created from Kura <em>data</em> messages.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_DEFAULTS_ENABLED</code><br><code>--hono.kura.defaultsEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_INSECURE_PORT</code><br><code>--hono.kura.insecurePort</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.kura.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_INSECURE_PORT_ENABLED</code><br><code>--hono.kura.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_KURA_INSECURE_PORT</code> or the default MQTT port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_KEY_PATH</code><br><code>--hono.kura.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_KURA_CERT_PATH</code>. Alternatively, the <code>HONO_KURA_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_KEY_STORE_PASSWORD</code><br><code>--hono.kura.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_KEY_STORE_PATH</code><br><code>--hono.kura.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_KURA_KEY_PATH</code> and <code>HONO_KURA_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_MAX_PAYLOAD_SIZE</code><br><code>--hono.kura.maxPayloadSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>2048</code></td>
+<td align="left">The maximum allowed size of an incoming MQTT message&rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_NATIVE_TLS_REQUIRED</code><br><code>--hono.kura.nativeTlsRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_PORT</code><br><code>--hono.kura.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>8883</code></td>
+<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_KURA_SECURE_PROTOCOLS</code><br><code>--hono.kura.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The variables only need to be set if the default values do not match your environment.</p>
+
+<h2 id="port-configuration">Port Configuration</h2>
+
+<p>The Kura protocol adapter can be configured to listen for connections on</p>
+
+<ul>
+<li>a secure port only (default) or</li>
+<li>an insecure port only or</li>
+<li>both a secure and an insecure port (dual port configuration)</li>
+</ul>
+
+<p>The Kura protocol adapter will fail to start if none of the ports is configured properly.</p>
+
+<h3 id="secure-port-only">Secure Port Only</h3>
+
+<p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
+
+<p>There are two alternative ways for doing so:</p>
+
+<ol>
+<li>either setting the <code>HONO_KURA_KEY_STORE_PATH</code> and the <code>HONO_KURA_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
+<li>setting the <code>HONO_KURA_KEY_PATH</code> and <code>HONO_KURA_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
+</ol>
+
+<p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure MQTT port 8883. The port number can also be set explicitly using the <code>HONO_KURA_PORT</code> variable.</p>
+
+<p>The <code>HONO_KURA_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="insecure-port-only">Insecure Port Only</h3>
+
+<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
+
+<ul>
+<li>explicitly setting <code>HONO_KURA_INSECURE_PORT</code> to a valid port number, or by</li>
+<li>implicitly configuring the default MQTT port (1883) by simply setting <code>HONO_KURA_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
+</ul>
+
+<p>The protocol adapter issues a warning on the console if <code>HONO_KURA_INSECURE_PORT</code> is set to the default secure MQTT port (8883).</p>
+
+<p>The <code>HONO_KURA_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
+
+<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="dual-port">Dual Port</h3>
+
+<p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
+
+<h3 id="ephemeral-ports">Ephemeral Ports</h3>
+
+<p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
+
+<h2 id="amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h2>
+
+<p>The adapter requires a connection to the <em>AMQP 1.0 Messaging Network</em> in order to forward telemetry data and events received from devices to downstream consumers.</p>
+
+<p>The connection to the messaging network is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+with <code>HONO_MESSAGING</code> being used as <code>${PREFIX}</code>. Since there are no responses being received, the properties for configuring response caching can be ignored.</p>
+
+<h2 id="tenant-service-connection-configuration">Tenant Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> in order to retrieve information for a tenant.</p>
+
+<p>The connection to the Tenant Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_TENANT</code> and the additional values for response caching apply.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-registration-service-connection-configuration">Device Registration Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> in order to retrieve registration status assertions for connected devices.</p>
+
+<p>The connection to the Device Registration Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_REGISTRATION</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="credentials-service-connection-configuration">Credentials Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a> in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.</p>
+
+<p>The connection to the Credentials Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_CREDENTIALS</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-connection-service-connection-configuration">Device Connection Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-connection-api/">Device Connection API</a> in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.</p>
+
+<p>The connection to the Device Connection service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_DEVICE_CONNECTION</code>.</p>
+
+<p>Responses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.</p>
+
+<h2 id="resource-limits-checker-configuration">Resource Limits Checker Configuration</h2>
+
+<p>The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_HOST</code><br><code>--hono.plan.prometheusBased.host</code></td>
+<td align="center">no</td>
+<td align="left">none</td>
+<td align="left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_PORT</code><br><code>--hono.plan.prometheusBased.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>9090</code></td>
+<td align="left">The port of the Prometheus server to retrieve metrics data from.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMinSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>20</code></td>
+<td align="left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMaxSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT</code><br><code>--hono.plan.prometheusBased.cacheTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>600</code></td>
+<td align="left">The number of seconds after which the cached metrics data should be considered invalid.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="metrics-configuration">Metrics Configuration</h2>
+
+<p>See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/monitoring-tracing-config/index.html b/docs/dev/admin-guide/monitoring-tracing-config/index.html
new file mode 100644
index 0000000..50de275
--- /dev/null
+++ b/docs/dev/admin-guide/monitoring-tracing-config/index.html
@@ -0,0 +1,2428 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Monitoring & Tracing :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Monitoring &amp; Tracing :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Monitoring &amp; Tracing :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/monitoring-tracing-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/monitoring-tracing-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/monitoring-tracing-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Monitoring & Tracing
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#monitoring">Monitoring</a>
+<ul>
+<li><a href="#configuring-a-metrics-back-end">Configuring a Metrics Back End</a></li>
+<li><a href="#using-prometheus">Using Prometheus</a></li>
+<li><a href="#legacy-metrics-support">Legacy Metrics Support</a></li>
+</ul></li>
+<li><a href="#health-check-server-configuration">Health Check Server Configuration</a></li>
+<li><a href="#tracing">Tracing</a>
+<ul>
+<li><a href="#configuring-a-tracer">Configuring a Tracer</a></li>
+</ul></li>
+<li><a href="#configuring-usage-of-jaeger-tracing-included-in-docker-images">Configuring usage of Jaeger tracing (included in Docker images)</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Monitoring &amp; Tracing</h1>
+          
+
+        
+
+
+<p>The individual components of an Eclipse Hono&trade; installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.</p>
+
+<p>When a device uploads telemetry data to the HTTP adapter, the adapter invokes operations on the Device Registration, Credentials and the Tenant services in order to authenticate and authorize the device before sending the telemetry data downstream to the AMQP 1.0 Messaging Network. The overall success of this process and the latency involved before the message reaches the consumer is determined by the individual interactions between the service components.</p>
+
+<h2 id="monitoring">Monitoring</h2>
+
+<p>In a production environment, an operations team will usually want to keep track of some <em>key performance indicators</em> (KPI) which allow the team to determine the overall <em>health</em> of the system, e.g. memory and CPU consumption etc. Hono supports the tracking of such KPIs by means of metrics it can be configured to report. The metrics are usually collected in a time series database like <em>InfluxDB</em> or <em>Prometheus</em> and then visualized on a monitoring dash-board built using frameworks like <em>Grafana</em>. Such a dash-board can usually also be configured to send alarms when certain thresholds are exceeded.</p>
+
+<p>Metrics usually provide insights into the past and current status of an individual component. The values can be aggregated to provide a picture of the overall system&rsquo;s status. As such, metrics provide a great way to <em>monitor</em> system health and, in particular, to anticipate resource shortages and use such knowledge to pro-actively prevent system failure.</p>
+
+<h3 id="configuring-a-metrics-back-end">Configuring a Metrics Back End</h3>
+
+<p>Hono uses <a href="http://micrometer.io/">Micrometer</a> for providing metrics. It is
+possible to drop in any Micrometer compatible back end. Hono also uses the
+Micrometer integration with Spring Boot and Vert.x.</p>
+
+<p>Please refer to the <a href="http://micrometer.io/docs">Micrometer documentation</a>
+for details regarding the configuration of a specific Micrometer back end.
+In most cases, you only need to add the back end specific jar files to the class path and
+add back end specific configuration to the <code>application.yml</code> file.</p>
+
+<p>The Hono build supports configuration of a specific metrics back end by means
+of Maven profiles. The following build profiles are currently supported:</p>
+
+<ul>
+<li><code>metrics-prometheus</code> – Enables the Prometheus backend.</li>
+<li><code>metrics-graphite</code> – Enables the Graphite backend.</li>
+<li><code>metrics-influxdb</code> – Enables the InfluxDB backend.</li>
+</ul>
+
+<p>Additionally to selecting a metrics back end, you may need to configure the
+back end using Spring configuration options. See the documentation mentioned
+above for more information.</p>
+
+<p>Note that none of the above profiles are active by default, i.e. you need to
+explicitly activate one of them when starting the build using Maven&rsquo;s <code>-p</code>
+command line parameter.</p>
+
+<h3 id="using-prometheus">Using Prometheus</h3>
+
+<p>Most of the metrics back ends have data being <em>pushed</em> to from the components
+reporting the metrics. However, Prometheus is different in that it <em>polls</em>
+(or <em>scrapes</em>) all components periodically for new metrics data.
+For this to work, the Prometheus server needs to be configured with the IP
+addresses of the components to monitor. In the example deployment that comes
+with Hono, the Kubernetes <em>pods</em> that the Hono components are running in are
+marked by means of a label. The Prometheus server then periodically queries
+the Kubernetes API to determine a list of pods (and their IP addresses) that
+have the corresponding label.
+The components themselves need to expose a corresponding HTTP endpoint that
+the Prometheus server can connect to for scraping the meter data. All
+Hono components that report metrics can be configured to expose such an
+endpoint via their <a href="#health-check-server-configuration"><em>Health Check</em> server</a>
+which already exposes endpoints for determining the component&rsquo;s readiness and liveness status.</p>
+
+<h3 id="legacy-metrics-support">Legacy Metrics Support</h3>
+
+<p>In addition to using standard Micrometer back ends, Hono also provides out of
+the box support for the pre-0.8 Graphite based format. This will configure the
+Graphite adapter to output metrics in the legacy format
+used by Hono versions before 0.8. Further configuration of the Graphite adapter
+can be made using the standard Spring Boot configuration of Micrometer.
+The legacy support can be enabled using the following configuration switch:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_METRICS_LEGACY</code><br><nobr><code>--hono.metrics.legacy</code></nobr></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">Enable legacy metrics using graphite.</td>
+</tr>
+</tbody>
+</table>
+
+<p>It is also necessary to enable the build profile for Graphite (<code>metrics-graphite</code>),
+as the legacy back end is based on the Graphite wire format. The profile will
+add the necessary dependencies to the build. If the dependencies are missing,
+the startup of the Hono components will fail.</p>
+
+<p>The names and semantics of the individual metrics being reported by the components
+are described in the <a href="/hono/docs/dev/api/metrics/#legacy-metrics">Legacy Metrics specification</a>.</p>
+
+<h2 id="health-check-server-configuration">Health Check Server Configuration</h2>
+
+<p>All of Hono&rsquo;s service components and protocol adapters contain a <em>Health Check</em> server which can be configured to
+expose several HTTP endpoints for determining the component&rsquo;s status.
+In particular, the server exposes a <code>/readiness</code>, a <code>/liveness</code> and an optional <code>/prometheus</code> URI endpoint.</p>
+
+<p>The former two endpoints are supposed to be used by container orchestration platforms like Kubernetes to monitor the runtime status of the containers
+that it manages. These endpoints are <em>always</em> exposed when the health check server is started.</p>
+
+<p>The <code>/prometheus</code> endpoint can be used by a Prometheus server to retrieve collected meter data from the component. It is <em>only</em> exposed if Prometheus has
+been configured as the metrics back end as described <a href="#configuring-a-metrics-back-end">above</a>.</p>
+
+<p>The health check server can be configured by means of the following environment variables:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_BIND_ADDRESS</code><br><code>--hono.healthCheck.bindAddress</code></td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the health check server&rsquo;s secure port should be bound to. The server will only be started if this property is set to some other than the default value and corresponding key material has been configured using the <code>HONO_HEALTH_CHECK_KEY_PATH</code> and <code>HONO_HEALTH_CHECK_CERT_PATH</code> variables.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_CERT_PATH</code><br><code>--hono.healthCheck.certPath</code></td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the secure server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HEALTH_CHECK_KEY_PATH</code>.<br>Alternatively, the <code>HONO_HEALTH_CHECK_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.healthCheck.insecurePortBindAddress</code></td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the health check server&rsquo;s insecure port should be bound to. The server will only be started if this property is set to some other than the default value.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_INSECURE_PORT</code><br><code>--hono.healthCheck.insecurePort</code></td>
+<td align="left"><code>8088</code></td>
+<td align="left">The port that the insecure server should listen on.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_KEY_PATH</code><br><code>--hono.healthCheck.keyPath</code></td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the secure server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HEALTH_CHECK_CERT_PATH</code>. Alternatively, the <code>HONO_HEALTH_CHECK_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_PORT</code><br><code>--hono.healthCheck.port</code></td>
+<td align="left"><code>8088</code></td>
+<td align="left">The port that the secure server should listen on.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_KEY_STORE_PASSWORD</code><br><code>--hono.healthCheck.keyStorePassword</code></td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_HEALTH_CHECK_KEY_STORE_PATH</code><br><code>--hono.healthCheck.keyStorePath</code></td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the secure server should use for authenticating to clients. Either this option or the <code>HONO_HEALTH_CHECK_KEY_PATH</code> and <code>HONO_HEALTH_CHECK_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively. The <code>HONO_HEALTH_CHECK_KEY_STORE_PASSWORD</code> variable can be used to set the password required for reading the key store.</td>
+</tr>
+</tbody>
+</table>
+
+<div class="alert alert-warning">
+    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Failure to start</h4>
+    <div>The component/service will fail to start if neither the secure not the insecure server have been configured properly.</div>
+</div>
+
+
+<h2 id="tracing">Tracing</h2>
+
+<p>In normal operation the vast majority of messages should be flowing through the system without any noteworthy delays or problems. In fact, that is the whole purpose of Hono. However, that doesn&rsquo;t mean that nothing can go wrong. For example, when a tenant&rsquo;s device administrator changes the credentials of a device in the Credentials service but has not yet updated the credentials on the device yet, then the device will start to fail in uploading any data to the protocol adapter it connects to. After a while, a back end application&rsquo;s administrator might notice, that there hasn&rsquo;t been any data being received from that particular device for quite some time. The application administrator therefore calls up the Hono operations team and complains about the data <em>being lost somewhere</em>.</p>
+
+<p>The operations team will have a hard time determining what is happening, because it will need to figure out which components have been involved in the processing of the device and why the data hasn&rsquo;t been processed as usual. The metrics alone usually do not help much here because metrics are usually not scoped to individual devices. The logs written by the individual components, on the other hand, might contain enough information to correlate individual entries in the log with each other and thus <em>trace</em> the processing of the message throughout the system. However, this is usually a very tedious (and error prone) process and the relevant information is often only logged at a level (e.g. <em>DEBUG</em>) that is not used in production (often <em>INFO</em> or above).</p>
+
+<p>In order to address this problem, Hono&rsquo;s service components are instrumented using <a href="http://opentracing.io">OpenTracing</a>. OpenTracing provides <em>Vendor-neutral APIs and instrumentation for distributed tracing</em>. The OpenTracing web page provides a <a href="https://opentracing.io/docs/supported-tracers/">list of supported tracer implementations</a> from which users can choose in order to collect (and examine) the tracing information generated by Hono&rsquo;s individual components.</p>
+
+<h3 id="configuring-a-tracer">Configuring a Tracer</h3>
+
+<p><strong>Hint</strong>: The description in this chapter applies to any compatible OpenTracing implementation. For an easier approach to configure usage of <a href="https://www.jaegertracing.io/">Jaeger tracing</a>, see the next chapter.</p>
+
+<p>Hono&rsquo;s components use the <a href="https://github.com/opentracing-contrib/java-tracerresolver">OpenTracing Tracer Resolver</a> mechanism to find and initialize a concrete OpenTracing implementation during startup of the component. The discovery mechanism is using Java&rsquo;s <a href="https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.html">ServiceLoader</a> and as such relies on the required resources to be available on the class path.</p>
+
+<p>When starting up any of Hono&rsquo;s Docker images as a container, the JVM will look for additional jar files to include in its class path in the container&rsquo;s <code>/opt/hono/extensions</code> folder. Thus, using a specific implementation of OpenTracing is just a matter of configuring the container to mount a volume or binding a host folder at that location and putting the implementation&rsquo;s jar files and resources into the corresponding volume or host folder.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>This also means that (currently) only Tracer implementations can be used with Hono that also implement the Tracer Resolver mechanism.</div>
+</div>
+
+
+<p>Assuming that the HTTP adapter should be configured to use <a href="https://www.jaegertracing.io/">Jaeger tracing</a>, the following steps are necessary:</p>
+
+<ol>
+<li>Download <a href="https://github.com/jaegertracing/jaeger-client-java/tree/master/jaeger-tracerresolver">Jaeger&rsquo;s Java Tracer Resolver</a> implementation and its dependencies (see the hint at the end).</li>
+<li>Put the jars to a folder on the Docker host, e.g. <code>/tmp/jaeger</code>.</li>
+
+<li><p>Start the HTTP adapter Docker image mounting the host folder:</p>
+
+<pre><code class="language-sh">docker run --name hono-adapter-http-vertx \
+--mount type=bind,src=/tmp/jaeger,dst=/opt/hono/extensions,ro \
+... \
+eclipse/hono-adapter-http-vertx
+</code></pre></li>
+</ol>
+
+<p><strong>Note</strong>: the command given above does not contain the environment variables and secrets that are required to configure the service properly. The environment variables for configuring the Jaeger client are also missing. Please refer to the <a href="https://github.com/jaegertracing/jaeger-client-java/blob/master/jaeger-core/README.md">Jaeger documentation</a> for details.</p>
+
+<p>When the HTTP adapter starts up, it will look for a working implementation of the Tracer Resolver on its classpath and (if found) initialize and use it for publishing traces. The adapter&rsquo;s log file will indicate the name of the Tracer implementation being used.</p>
+
+<p>Using a Docker <em>volume</em> instead of a <em>bind mount</em> works the same way but requires the use of <code>volume</code> as the <em>type</em> of the <code>--mount</code> parameter. Please refer to the <a href="https://docs.docker.com/edge/engine/reference/commandline/service_create/#add-bind-mounts-volumes-or-memory-filesystems">Docker reference documentation</a> for details.</p>
+
+<p><strong>Hint</strong>: to resolve all dependencies for <code>jaeger-tracerresolver</code> in order to provide them to <code>/opt/hono/extensions</code>, you may want to rely on Maven&rsquo;s dependency plugin. To obtain all jar files you can invoke the following command in a simple Maven project that contains only the dependency to <code>jaeger-tracerresolver</code>:</p>
+
+<pre><code>mvn dependency:copy-dependencies
+</code></pre>
+
+<p>All jar files can then be found in the directory <code>target/dependency</code>.</p>
+
+<h2 id="configuring-usage-of-jaeger-tracing-included-in-docker-images">Configuring usage of Jaeger tracing (included in Docker images)</h2>
+
+<p>In case <a href="https://www.jaegertracing.io/">Jaeger tracing</a> shall be used, there is an alternative to putting the jar files in the container&rsquo;s <code>/opt/hono/extensions</code> folder as described above.
+This is to have the Jaeger tracing jar files be included in the Hono Docker images by using the <code>jaeger</code> Maven profile when building Hono.</p>
+
+<p>For example, building the HTTP adapter image with the Jaeger client included:</p>
+
+<pre><code># in directory: hono/adapters/http-vertx/
+mvn clean install -Pbuild-docker-image,jaeger
+</code></pre>
+
+<p>Note that when running the created docker image, the environment variables for configuring the Jaeger client still need to be set. Please refer to the <a href="https://github.com/jaegertracing/jaeger-client-java/blob/master/jaeger-core/README.md">Jaeger documentation</a> for details.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/mqtt-adapter-config/index.html b/docs/dev/admin-guide/mqtt-adapter-config/index.html
new file mode 100644
index 0000000..cf0ef0c
--- /dev/null
+++ b/docs/dev/admin-guide/mqtt-adapter-config/index.html
@@ -0,0 +1,2494 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>MQTT Adapter Configuration :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="MQTT Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="MQTT Adapter Configuration :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/mqtt-adapter-config/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/mqtt-adapter-config/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/mqtt-adapter-config.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > MQTT Adapter Configuration
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#service-configuration">Service Configuration</a></li>
+<li><a href="#port-configuration">Port Configuration</a>
+<ul>
+<li><a href="#secure-port-only">Secure Port Only</a></li>
+<li><a href="#insecure-port-only">Insecure Port Only</a></li>
+<li><a href="#dual-port">Dual Port</a></li>
+<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+</ul></li>
+<li><a href="#amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
+<li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
+<li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
+<li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
+<li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a></li>
+<li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
+<li><a href="#metrics-configuration">Metrics Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>MQTT Adapter Configuration</h1>
+          
+
+        
+
+
+<p>The MQTT protocol adapter exposes an MQTT topic hierarchy for publishing messages and events to Eclipse Hono&trade;&rsquo;s Telemetry and Event endpoints.</p>
+
+<p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-mqtt-vertx/">Docker image</a> created from it.</p>
+
+<h2 id="service-configuration">Service Configuration</h2>
+
+<p>In addition to the following options, this component supports the options described in <a href="/hono/docs/dev/admin-guide/common-config/">Common Configuration</a>.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the MQTT adapter.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td align="center">no</td>
+<td align="left"><em>#CPU cores</em></td>
+<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_CONNECTION_EVENTS_PRODUCER</code><br><code>--hono.connectionEvents.producer</code></td>
+<td align="center">no</td>
+<td align="left"><code>logging</code></td>
+<td align="left">The implementation of <em>connection events</em> producer which is to be used. This may be <code>logging</code> or <code>events</code>.<br>See <a href="/hono/docs/dev/concepts/connection-events/">Connection Events</a></td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_AUTHENTICATION_REQUIRED</code><br><code>--hono.mqtt.authenticationRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_BIND_ADDRESS</code><br><code>--hono.mqtt.bindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_CERT_PATH</code><br><code>--hono.mqtt.certPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_MQTT_KEY_PATH</code>.<br>Alternatively, the <code>HONO_MQTT_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_COMMAND_ACK_TIMEOUT</code><br><code>--hono.mqtt.commandAckTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>100</code></td>
+<td align="left">The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_DEFAULTS_ENABLED</code><br><code>--hono.mqtt.defaultsEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.mqtt.insecurePortBindAddress</code></td>
+<td align="center">no</td>
+<td align="left"><code>127.0.0.1</code></td>
+<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_INSECURE_PORT_ENABLED</code><br><code>--hono.mqtt.insecurePortEnabled</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_MQTT_INSECURE_PORT</code> or the default MQTT port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_KEY_PATH</code><br><code>--hono.mqtt.keyPath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_MQTT_CERT_PATH</code>. Alternatively, the <code>HONO_MQTT_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_KEY_STORE_PASSWORD</code><br><code>--hono.mqtt.keyStorePassword</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The password required to read the contents of the key store.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_KEY_STORE_PATH</code><br><code>--hono.mqtt.keyStorePath</code></td>
+<td align="center">no</td>
+<td align="left">-</td>
+<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_MQTT_KEY_PATH</code> and <code>HONO_MQTT_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_MAX_CONNECTIONS</code><br><code>--hono.mqtt.maxConnections</code></td>
+<td align="center">no</td>
+<td align="left"><code>0</code></td>
+<td align="left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_MAX_PAYLOAD_SIZE</code><br><code>--hono.mqtt.maxPayloadSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>2048</code></td>
+<td align="left">The maximum allowed size of an incoming MQTT message&rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_NATIVE_TLS_REQUIRED</code><br><code>--hono.mqtt.nativeTlsRequired</code></td>
+<td align="center">no</td>
+<td align="left"><code>false</code></td>
+<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_PORT</code><br><code>--hono.mqtt.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>8883</code></td>
+<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_MQTT_SECURE_PROTOCOLS</code><br><code>--hono.mqtt.secureProtocols</code></td>
+<td align="center">no</td>
+<td align="left"><code>TLSv1.2</code></td>
+<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The variables only need to be set if the default values do not match your environment.</p>
+
+<h2 id="port-configuration">Port Configuration</h2>
+
+<p>The MQTT protocol adapter can be configured to listen for connections on</p>
+
+<ul>
+<li>a secure port only (default) or</li>
+<li>an insecure port only or</li>
+<li>both a secure and an insecure port (dual port configuration)</li>
+</ul>
+
+<p>The MQTT protocol adapter will fail to start if none of the ports is configured properly.</p>
+
+<h3 id="secure-port-only">Secure Port Only</h3>
+
+<p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
+
+<p>There are two alternative ways for doing so:</p>
+
+<ol>
+<li>either setting the <code>HONO_MQTT_KEY_STORE_PATH</code> and the <code>HONO_MQTT_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
+<li>setting the <code>HONO_MQTT_KEY_PATH</code> and <code>HONO_MQTT_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
+</ol>
+
+<p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure MQTT port 8883. The port number can also be set explicitly using the <code>HONO_MQTT_PORT</code> variable.</p>
+
+<p>The <code>HONO_MQTT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="insecure-port-only">Insecure Port Only</h3>
+
+<p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
+
+<ul>
+<li>explicitly setting <code>HONO_MQTT_INSECURE_PORT</code> to a valid port number, or by</li>
+<li>implicitly configuring the default MQTT port (1883) by simply setting <code>HONO_MQTT_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
+</ul>
+
+<p>The protocol adapter issues a warning on the console if <code>HONO_MQTT_INSECURE_PORT</code> is set to the default secure MQTT port (8883).</p>
+
+<p>The <code>HONO_MQTT_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
+
+<p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
+
+<h3 id="dual-port">Dual Port</h3>
+
+<p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
+
+<h3 id="ephemeral-ports">Ephemeral Ports</h3>
+
+<p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
+
+<h2 id="amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h2>
+
+<p>The adapter requires a connection to the <em>AMQP 1.0 Messaging Network</em> in order to forward telemetry data and events received from devices to downstream consumers.</p>
+
+<p>The connection to the messaging network is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+with <code>HONO_MESSAGING</code> being used as <code>${PREFIX}</code>. Since there are no responses being received, the properties for configuring response caching can be ignored.</p>
+
+<h2 id="tenant-service-connection-configuration">Tenant Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> in order to retrieve information for a tenant.</p>
+
+<p>The connection to the Tenant Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_TENANT</code> and the additional values for response caching apply.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-registration-service-connection-configuration">Device Registration Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> in order to retrieve registration status assertions for connected devices.</p>
+
+<p>The connection to the Device Registration Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_REGISTRATION</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="credentials-service-connection-configuration">Credentials Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a> in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.</p>
+
+<p>The connection to the Credentials Service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_CREDENTIALS</code>.</p>
+
+<p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
+If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
+
+<h2 id="device-connection-service-connection-configuration">Device Connection Service Connection Configuration</h2>
+
+<p>The adapter requires a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/dev/api/device-connection-api/">Device Connection API</a> in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.</p>
+
+<p>The connection to the Device Connection service is configured according to <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
+where the <code>${PREFIX}</code> is set to <code>HONO_DEVICE_CONNECTION</code>.</p>
+
+<p>Responses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.</p>
+
+<h2 id="resource-limits-checker-configuration">Resource Limits Checker Configuration</h2>
+
+<p>The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.</p>
+
+<p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Environment Variable<br>Command Line Option</th>
+<th align="center">Mandatory</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_HOST</code><br><code>--hono.plan.prometheusBased.host</code></td>
+<td align="center">no</td>
+<td align="left">none</td>
+<td align="left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_PORT</code><br><code>--hono.plan.prometheusBased.port</code></td>
+<td align="center">no</td>
+<td align="left"><code>9090</code></td>
+<td align="left">The port of the Prometheus server to retrieve metrics data from.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMinSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>20</code></td>
+<td align="left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE</code><br><code>--hono.plan.prometheusBased.cacheMaxSize</code></td>
+<td align="center">no</td>
+<td align="left"><code>1000</code></td>
+<td align="left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
+</tr>
+
+<tr>
+<td align="left"><code>HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT</code><br><code>--hono.plan.prometheusBased.cacheTimeout</code></td>
+<td align="center">no</td>
+<td align="left"><code>600</code></td>
+<td align="left">The number of seconds after which the cached metrics data should be considered invalid.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="metrics-configuration">Metrics Configuration</h2>
+
+<p>See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/admin-guide/secure_communication/index.html b/docs/dev/admin-guide/secure_communication/index.html
new file mode 100644
index 0000000..e9df46d
--- /dev/null
+++ b/docs/dev/admin-guide/secure_communication/index.html
@@ -0,0 +1,2466 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Secure Communication :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Secure Communication :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Secure Communication :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/admin-guide/secure_communication/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item active">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/admin-guide/secure_communication/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/admin-guide/secure_communication/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/secure_communication.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/admin-guide/'>Admin Guide</a> > Secure Communication
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#enabling-tls">Enabling TLS</a>
+<ul>
+<li><a href="#auth-server">Auth Server</a></li>
+<li><a href="#dispatch-router">Dispatch Router</a></li>
+<li><a href="#device-registry">Device Registry</a></li>
+<li><a href="#http-adapter">HTTP Adapter</a></li>
+<li><a href="#mqtt-adapter">MQTT Adapter</a></li>
+<li><a href="#kura-adapter">Kura Adapter</a></li>
+<li><a href="#client-application">Client Application</a></li>
+</ul></li>
+<li><a href="#using-openssl">Using OpenSSL</a>
+<ul>
+<li><a href="#configuring-containers">Configuring Containers</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Secure Communication</h1>
+          
+
+        
+
+
+<p>The individual components of an Eclipse Hono&trade; installation, e.g. the protocol adapters, <em>AMQP Messaging Network</em>, <em>Hono Auth</em> etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of <em>Transport Layer Security</em> (TLS) and how to configure it.</p>
+
+<h2 id="enabling-tls">Enabling TLS</h2>
+
+<p>All of Hono&rsquo;s components can be configured to use TLS for establishing an encrypted communication channel with peers. When a client initiates a connection with a server, the TLS handshake protocol is used to negotiate parameters of a secure channel to be used for exchanging data. The most important of those parameters is a secret (symmetric) encryption key that is only known to the client and the server and which is used to transparently encrypt all data being sent over the connection as long as the connection exists. With each new connection, a new secret key is negotiated.</p>
+
+<p>Using TLS in this way requires configuring the server component with a cryptographic <em>private/public key</em> pair and a <em>certificate</em> which <em>binds</em> an <em>identity claim</em> to the public key. It is out of scope of this document to describe the full process of creating such a key pair and acquiring a corresponding certificate. The <code>demo-certs</code> module already contains a set of keys and certificates to be used for evaluation and demonstration purposes. Throughout the rest of this section we will use these keys and certificates . Please refer to the <code>demo-certs/README.md</code> file for details regarding how to create your own keys and certificates.</p>
+
+<p>Within a Hono installation the following communication channels can be secured with TLS:</p>
+
+<ol>
+<li>Applications connecting to <em>Dispatch Router</em> - Client applications consuming e.g. Telemetry data from Hono connect to the AMQP Messaging Network. This connection can be secured by configuring the client and the messaging network for TLS.</li>
+<li><em>Device Registry</em> connecting to <em>Auth Server</em> - The Device Registry connects to the Auth Server in order to verify client credentials and determine the client&rsquo;s authorities. This (internal) connection can (should) be secured by configuring the Auth Server and Device Registry for TLS.</li>
+<li><em>Protocol Adapter</em> to <em>Device Registry</em> - A protocol adapter connects to the Device Registry in order to retrieve assertions regarding the registration status of devices. This (internal) connection can be secured by configuring the protocol adapter and the Device Registry for TLS.</li>
+<li><em>Protocol Adapter</em> connecting to <em>AMQP Messaging Network</em> - A protocol adapter connects to the messaging network in order to forward telemetry data and commands hence and forth between downstream components (client applications) and devices. This (internal) connection can be secured by configuring the Dispatch Router and the protocol adapters for TLS.</li>
+<li><em>Devices</em> connecting to a <em>Protocol Adapter</em> - Devices use TLS to both authenticate the protocol adapter and to establish an encrypted channel that provides integrity and privacy when transmitting data. Note that the specifics of if and how TLS can be used with a particular protocol adapter is specific to the transport protocol the adapter uses for communicating with the devices.</li>
+<li><em>Liveness/readiness probes</em> connecting to <em>Service Health Checks</em> - Systems like Kubernetes are periodically checking the health status of the individual services . This communication can be secured by configuring the health check of the individual services to expose a secure endpoint.</li>
+</ol>
+
+<h3 id="auth-server">Auth Server</h3>
+
+<p>The Auth Server supports the use of TLS for connections to clients. Please refer to the <a href="/hono/docs/dev/admin-guide/auth-server-config/">Auth Server admin guide</a> for details regarding the required configuration steps.</p>
+
+<p>The <code>demo-certs/certs</code> folder includes the following demo keys and certificates to be used with the Auth Server for that purpose.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>auth-server-key.pem</code></td>
+<td align="left">The example private key for creating signatures.</td>
+</tr>
+
+<tr>
+<td align="left"><code>auth-server-cert.pem</code></td>
+<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+</tr>
+
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="dispatch-router">Dispatch Router</h3>
+
+<p>The Dispatch Router reads its configuration from a file on startup (the default location is <code>/etc/qpid-dispatch/qdrouterd.conf</code>). Please refer to the <a href="https://qpid.apache.org/components/dispatch-router/index.html">Dispatch Router documentation</a> for details regarding the configuration of TLS/SSL.</p>
+
+<p>The <code>demo-certs/certs</code> folder includes the following demo keys and certificates to be used with the Dispatch Router for that purpose:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>qdrouter-key.pem</code></td>
+<td align="left">The example private key for creating signatures.</td>
+</tr>
+
+<tr>
+<td align="left"><code>qdrouter-cert.pem</code></td>
+<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+</tr>
+
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="device-registry">Device Registry</h3>
+
+<p>The Device Registry supports the use of TLS for connections to protocol adapters and the Auth Server.
+Please refer to the <a href="/hono/docs/dev/admin-guide/device-registry-config/">Device Registry admin guide</a> for details regarding the required configuration steps.</p>
+
+<p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the Device Registry for that purpose.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>auth-server-cert.pem</code></td>
+<td align="left">The certificate of the Auth Server, used to verify the signatures of tokens issued by the Auth Server.</td>
+</tr>
+
+<tr>
+<td align="left"><code>device-registry-key.pem</code></td>
+<td align="left">The example private key for creating signatures.</td>
+</tr>
+
+<tr>
+<td align="left"><code>device-registry-cert.pem</code></td>
+<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+</tr>
+
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="http-adapter">HTTP Adapter</h3>
+
+<p>The HTTP adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key.
+Please refer to the <a href="/hono/docs/dev/admin-guide/http-adapter-config/">HTTP adapter admin guide</a> for details regarding the required configuration steps.</p>
+
+<p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the HTTP adapter for that purpose.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>http-adapter-key.pem</code></td>
+<td align="left">The example private key for creating signatures.</td>
+</tr>
+
+<tr>
+<td align="left"><code>http-adapter-cert.pem</code></td>
+<td align="left">The example certificate asserting the adapter&rsquo;s identity.</td>
+</tr>
+
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="mqtt-adapter">MQTT Adapter</h3>
+
+<p>The MQTT adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key.
+Please refer to the <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">MQTT adapter admin guide</a> for details regarding the required configuration steps.</p>
+
+<p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the MQTT adapter for that purpose.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>mqtt-adapter-key.pem</code></td>
+<td align="left">The example private key for creating signatures.</td>
+</tr>
+
+<tr>
+<td align="left"><code>mqtt-adapter-cert.pem</code></td>
+<td align="left">The example certificate asserting the adapter&rsquo;s identity.</td>
+</tr>
+
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="kura-adapter">Kura Adapter</h3>
+
+<p>The Kura adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key.
+Please refer to the <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">Kura adapter admin guide</a> for details regarding the required configuration steps.</p>
+
+<p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the Kura adapter for that purpose.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>kura-adapter-key.pem</code></td>
+<td align="left">The example private key for creating signatures.</td>
+</tr>
+
+<tr>
+<td align="left"><code>kura-adapter-cert.pem</code></td>
+<td align="left">The example certificate asserting the adapter&rsquo;s identity.</td>
+</tr>
+
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="client-application">Client Application</h3>
+
+<p>When the connection between an application client and Hono (i.e. the Dispatch Router) is supposed to be secured by TLS (which is a good idea), then the client application needs to be configured to trust the CA that signed the Dispatch Router&rsquo;s certificate chain. When the application uses the <code>org.eclipse.hono.client.HonoClientImpl</code> class from the <code>client</code> module, then this can be done by means of configuring the <code>org.eclipse.hono.connection.ConnectionFactoryImpl</code> with a trust store containing the CA&rsquo;s certificate. Please refer to the <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">Hono Client configuration guide</a> for details regarding the configuration properties that need to be set.</p>
+
+<p>The <code>demo-certs/certs</code> folder contains the following demo keys to be used with client applications for that purpose.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">File</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>trusted-certs.pem</code></td>
+<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="using-openssl">Using OpenSSL</h2>
+
+<p>Hono&rsquo;s individual services are implemented in Java and therefore, by default, use the SSL/TLS engine that comes with the Java Virtual Machine that the services are running on. In case of the Docker images provided by Hono this is the SSL engine of OpenJDK. While the standard SSL engine has the advantage of being a part of the JVM itself and thus being available on every operating system that the JVM is running on without further installation, it provides only limited performance and throughput when compared to native TLS implementations like <a href="https://www.openssl.org/">OpenSSL</a>.</p>
+
+<p>In order to address this problem, the Netty networking library that is used in Hono&rsquo;s components can be configured to employ the OpenSSL instead of the JVM&rsquo;s SSL engine by means of Netty&rsquo;s <a href="http://netty.io/wiki/forked-tomcat-native.html">Forked Tomcat Native</a> (tcnative) module.</p>
+
+<p>The tcnative module comes in several flavors, corresponding to the way that the OpenSSL library has been linked in. The statically linked versions include a specific version of OpenSSL (or <a href="https://boringssl.googlesource.com/">BoringSSL</a> for that matter) and is therefore most easy to use on supported platforms, regardless of whether another version of OpenSSL is already installed or not. In contrast, the dynamically linked variants depend on a particular version of OpenSSL being already installed on the operating system. Both approaches have their pros and cons and Hono therefore does not include tcnative in its Docker images by default, i.e. Hono&rsquo;s services will use the JVM&rsquo;s default SSL engine by default.</p>
+
+<h3 id="configuring-containers">Configuring Containers</h3>
+
+<p>When starting up any of Hono&rsquo;s Docker images as a container, the JVM will look for additional jar files to include in its classpath in the container&rsquo;s <code>/opt/hono/extensions</code> folder. Thus, using a specific variant of tcnative is just a matter of configuring the container to mount a volume or binding a host folder at that location and putting the desired variant of tcnative into the corresponding volume or host folder.r
+Assuming that the Auth Server should be run with the statically linked, BoringSSL based tcnative variant, the following steps are necessary:</p>
+
+<ol>
+<li><a href="http://netty.io/wiki/forked-tomcat-native.html#how-to-download-netty-tcnative-boringssl-static">Download tcnative</a> matching the platform architecture (<em>linux-x86_64</em>).</li>
+<li>Put the jar file to a folder on the Docker host, e.g. <code>/tmp/tcnative</code>.</li>
+
+<li><p>Start the Auth Server Docker image mounting the host folder:</p>
+
+<pre><code class="language-sh">docker run --name hono-auth-server --mount type=bind,src=/tmp/tcnative,dst=/opt/hono/extensions,ro ... eclipse/hono-service-auth
+</code></pre></li>
+</ol>
+
+<p>Note that the command given above does not contain the environment variables and secrets that are usually required to configure the service properly.</p>
+
+<p>When the Auth Server starts up, it will look for a working variant of tcnative on its classpath and (if found) use it for establishing TLS connections. The service&rsquo;s log file will indicate whether the JVM&rsquo;s default SSL engine or OpenSSL is used.</p>
+
+<p>Using a Docker <em>volume</em> instead of a <em>bind mount</em> works the same way but requires the use of <code>volume</code> as the <em>type</em> of the <code>--mount</code> parameter. Please refer to the <a href="https://docs.docker.com/edge/engine/reference/commandline/service_create/#add-bind-mounts-volumes-or-memory-filesystems">Docker reference documentation</a> for details.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/assertDeviceRegistration_Success.svg b/docs/dev/api/assertDeviceRegistration_Success.svg
new file mode 100644
index 0000000..09c3b3c
--- /dev/null
+++ b/docs/dev/api/assertDeviceRegistration_Success.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="390px" preserveAspectRatio="none" style="width:847px;height:390px;" version="1.1" viewBox="0 0 847 390" width="847.2px" zoomAndPan="magnify"><defs><filter height="300%" id="f5fhc5i4jav5v" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f5fhc5i4jav5v)" height="136.3969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="688.2" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="342.75"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="694.2" x2="694.2" y1="45.9563" y2="342.75"/><rect fill="#FEFECE" filter="url(#f5fhc5i4jav5v)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#f5fhc5i4jav5v)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="341.55"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="365.5441">Client</text><rect fill="#FEFECE" filter="url(#f5fhc5i4jav5v)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="242.4" x="570.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="579" y="27.5941">Device Registration Service</text><rect fill="#FEFECE" filter="url(#f5fhc5i4jav5v)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="242.4" x="570.6" y="341.55"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="579" y="365.5441">Device Registration Service</text><rect fill="#FFFFFF" filter="url(#f5fhc5i4jav5v)" height="136.3969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="688.2" y="83.3156"/><polygon fill="#A80036" points="673.8,78.5156,685.8,83.3156,673.8,88.1156,678.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="681" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="367.2" x="52.2" y="77.2365">transfer(subject: "assert", device-id, gateway-id)</text><path d="M549.6,98.9156 L549.6,182.9156 L832.8,182.9156 L832.8,110.9156 L820.8,98.9156 L549.6,98.9156 " fill="#FBFB77" filter="url(#f5fhc5i4jav5v)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M820.8,98.9156 L820.8,110.9156 L832.8,110.9156 L820.8,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="76.8" x="556.8" y="119.3959">verify that</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="202.8" x="556.8" y="137.5553">- device and gateway exist</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="258" x="556.8" y="155.7146">- device and gateway are enabled</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="256.8" x="556.8" y="173.874">- gateway is authorized for device</text><polygon fill="#A80036" points="57,214.9125,45,219.7125,57,224.5125,52.2,219.7125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="693" y1="219.7125" y2="219.7125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="615.6" x="64.2" y="213.6334">transfer(status: "200", content-type: "application/json", body: registration status)</text><path d="M49.2,235.3125 L49.2,319.3125 L247.2,319.3125 L247.2,247.3125 L235.2,235.3125 L49.2,235.3125 " fill="#FBFB77" filter="url(#f5fhc5i4jav5v)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M235.2,235.3125 L235.2,247.3125 L247.2,247.3125 L235.2,235.3125 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="172.8" x="56.4" y="255.7928">JSON payload contains</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="79.2" x="56.4" y="273.9521">- device-id</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="110.4" x="56.4" y="292.1115">- via (optional)</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="150" x="56.4" y="310.2709">- defaults (optional)</text><!--
+@startuml
+scale 1.2
+
+Client -> "Device Registration Service": transfer(subject: "assert", device-id, gateway-id)
+activate "Device Registration Service"
+note over "Device Registration Service"
+verify that
+- device and gateway exist
+- device and gateway are enabled
+- gateway is authorized for device
+end note
+
+"Device Registration Service" -> Client: transfer(status: "200", content-type: "application/json", body: registration status)
+deactivate "Device Registration Service"
+
+note right of Client
+JSON payload contains
+- device-id
+- via (optional)
+- defaults (optional)
+end note
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/authentication-api/index.html b/docs/dev/api/authentication-api/index.html
new file mode 100644
index 0000000..6fe3194
--- /dev/null
+++ b/docs/dev/api/authentication-api/index.html
@@ -0,0 +1,2347 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Authentication API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Authentication API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Authentication API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/authentication-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/authentication-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/authentication-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/authentication-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Authentication-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Authentication API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#get-token">Get Token</a></li>
+<li><a href="#token-format">Token Format</a>
+<ul>
+<li><a href="#resource-authorities">Resource Authorities</a></li>
+<li><a href="#operation-authorities">Operation Authorities</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Authentication API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Authentication API</em> is used to retrieve a <em>token</em> asserting a subject&rsquo;s identity and granted authorities. Other service implementations use such a token to make authorization decisions on a client&rsquo;s request to read or write from/to a resource or to invoke a certain operation.</p>
+
+<p>The Authentication API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to an Authentication service using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.</p>
+
+<p>Note that a component implementing this API will most likely need to also provide means to add, alter or remove identities and authorities as well. However, Hono itself does not require this kind of functionality, thus this kind of functionality is considered out of scope of this API.</p>
+
+<p>In a real world environment there will often already be an <em>identity management system</em> in place. In such cases it can make sense to just implement a <em>facade</em> exposing the Authentication API operations and mapping them to the underlying existing system&rsquo;s functionality.</p>
+
+<h2 id="get-token">Get Token</h2>
+
+<p>Clients use this operation to</p>
+
+<ul>
+<li>verify a set of credentials and</li>
+<li>retrieve a token asserting the authenticated subject&rsquo;s identity and granted authorities.</li>
+</ul>
+
+<p><strong>Message Flow</strong></p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in a <em>Client</em> retrieving a token.</p>
+
+<figure>
+    <img src="../get-token.svg"/> <figcaption>
+            <h4>Get Token message flow</h4>
+        </figcaption>
+</figure>
+
+
+<ol>
+<li>The <em>Client</em> and <em>Authentication</em> service have agreed to use the SASL PLAIN mechanism for authenticating the client. The <em>Client</em> therefore sends the credentials of the identity it wants to retrieve a token for. The <em>Authentication</em> service successfully verifies the credentials and establishes the <em>authorization ID</em>.
+
+<ol>
+<li>The <em>Authentication</em> service completes the SASL exchange with a successful outcome (SASL OK).</li>
+</ol></li>
+<li>The <em>Client</em> continues by opening an AMQP connection with the <em>Authentication</em> service. The <em>Authentication</em> service creates a token asserting the <em>authorization ID</em> and authorities established during the SASL exchange and associates it with the connection.</li>
+<li>The <em>Client</em> opens a receiving link using source address <code>cbs</code>.
+
+<ol>
+<li>The <em>Authentication</em> service opens the link and</li>
+<li>sends the token associated with the connection to the <em>Client</em>.</li>
+</ol></li>
+<li>The <em>Client</em> closes the connection.</li>
+</ol>
+
+<p><strong>Token Message Format</strong></p>
+
+<p>On successful establishment of the receiving link with the client as described above, the server sends a message to the client containing a token asserting the identity and authorities of the client that has been authenticated as part of establishing the underlying AMQP connection.</p>
+
+<p>The following table provides an overview of the properties of the message sent to the client.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="left">Location</th>
+<th align="left">Type</th>
+<th align="left">Value</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>type</em></td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>amqp:jwt</code></td>
+</tr>
+</tbody>
+</table>
+
+<p>The message&rsquo;s body consists of a single AMQP 1.0 <em>AmqpValue</em> section which contains the UTF-8 representation of a JSON Web Token as defined in <a href="#token-format">Token Format</a>.</p>
+
+<h2 id="token-format">Token Format</h2>
+
+<p>The token returned by the <em>get Token</em> operation is a cryptographically signed JSON Web Token as defined by <a href="https://tools.ietf.org/html/rfc7519">RFC 7519</a>.</p>
+
+<p>The token contains the following mandatory <em>claims</em>:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="left">Type</th>
+<th align="left">Value</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>sub</em></td>
+<td align="left"><a href="https://tools.ietf.org/html/rfc7519#section-4.1.2">RFC 7519, Section 4.1.2</a></td>
+<td align="left">The <em>authorization ID</em> of the authenticated client. This represents the asserted identity.</td>
+</tr>
+
+<tr>
+<td align="left"><em>exp</em></td>
+<td align="left"><a href="https://tools.ietf.org/html/rfc7519#section-4.1.4">RFC 7519, Section 4.1.4</a></td>
+<td align="left">The point in time after which the claims contained in this token must be considered no longer valid. Clients MUST NOT use any information from a token that has expired.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The subject&rsquo;s authorities on resources and operations are represented by additional JWT <em>claims</em> with a name identifying the resource or operation and a value containing the activities the subject is allowed to perform. The following activities are supported:</p>
+
+<ul>
+<li>READ - The client is allowed to establish a receiving link using the resource&rsquo;s node address as the link&rsquo;s <em>source address</em>.</li>
+<li>WRITE - The client is allowed to establish a sending link using the resource&rsquo;s node address as the link&rsquo;s <em>target address</em>.</li>
+<li>EXECUTE - The client is allowed to <em>invoke</em> an operation on an endpoint, i.e. send a message over a link with a <em>subject</em> representing the operation name and the link&rsquo;s target address representing the API endpoint&rsquo;s node address.</li>
+</ul>
+
+<p>The allowed activities are encoded in a claim&rsquo;s value by means of simply concatenating the activities&rsquo; initial characters (<code>R</code>, <code>W</code>, <code>E</code>).</p>
+
+<p>The token may contain any number of additional claims which may be ignored by clients that do not understand their meaning.</p>
+
+<h3 id="resource-authorities">Resource Authorities</h3>
+
+<p>A client&rsquo;s authority on a resource is represented by a JWT <em>claim</em> with a name containing the resource node address prefixed with <code>r:</code> and a value containing the activities the client is allowed to perform on the resource. The node address MAY contain one or more wildcard (<code>*</code>) characters to represent <em>any</em> string.</p>
+
+<p><strong>Example:</strong></p>
+
+<p>Assuming a client which is allowed to</p>
+
+<ul>
+<li>send and consume events for tenant <code>my-tenant</code> and</li>
+<li>consume telemetry data for all tenants</li>
+</ul>
+
+<p>the corresponding claims (in the token&rsquo;s JSON representation) would look like this:</p>
+
+<pre><code class="language-json">{
+  ...
+  &quot;r:event/my-tenant&quot;: &quot;RW&quot;,
+  &quot;r:telemetry/*&quot;: &quot;R&quot;,
+  ...
+}
+</code></pre>
+
+<h3 id="operation-authorities">Operation Authorities</h3>
+
+<p>A client&rsquo;s authority to invoke an endpoint&rsquo;s operation(s) is represented by a JWT <em>claim</em> with a name containing the endpoint&rsquo;s node address and operation identifier prefixed with <code>o:</code> and a value of <code>E</code> (for <code>EXECUTE</code>). The endpoint node address MAY contain one or more wildcard (<code>*</code>) characters to represent <em>any</em> string. The operation identifier is the <em>subject</em> value defined by the corresponding API for the operation. The operation identifier MAY be set to <code>*</code> to represent <em>any</em> operation of the endpoint.</p>
+
+<p><strong>Example:</strong></p>
+
+<p>Assuming a client which is allowed to</p>
+
+<ul>
+<li>invoke the Device Registration API&rsquo;s <em>assert Registration</em> operation for any tenant and</li>
+<li>invoke all methods of the Credentials API for tenant <code>my-tenant</code></li>
+</ul>
+
+<p>the corresponding claims (in the token&rsquo;s JSON representation) would look like this:</p>
+
+<pre><code class="language-json">{
+  ...
+  &quot;o:registration/*:assert&quot;: &quot;E&quot;,
+  &quot;o:credentials/my-tenant:*&quot;: &quot;E&quot;,
+  ...
+}
+</code></pre>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/command-and-control-api/index.html b/docs/dev/api/command-and-control-api/index.html
new file mode 100644
index 0000000..ee73e11
--- /dev/null
+++ b/docs/dev/api/command-and-control-api/index.html
@@ -0,0 +1,2599 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Command & Control API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Command &amp; Control API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Command &amp; Control API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/command-and-control-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/command-and-control-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/command-and-control-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/command-and-control-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Command-And-Control-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Command & Control API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#send-a-one-way-command">Send a One-Way Command</a></li>
+<li><a href="#send-a-request-response-command">Send a (Request/Response) Command</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Command &amp; Control API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Command &amp; Control</em> API of Eclipse Hono&trade; is used by <em>Business Applications</em> to send commands to connected devices.</p>
+
+<p>Commands can be used to trigger actions on devices. Examples include updating a configuration property, installing a software component or switching the state of an actuator.</p>
+
+<p>Hono distinguishes two types of commands. The first type is <em>one-way</em> only. In this case the sender of the command does not expect the device to send back a message in response to the command. This type of command is referred to as a <em>one-way command</em> in the remainder of this page. One-way commands may be used to e.g. <em>notify</em> a device about a change of state.</p>
+
+<p>The second type of commands expects a <em>response</em> to be sent back from the device as a result of processing the command. In this case the response contains a <em>status</em> code which indicates whether the command could be processed successfully. If so, the response may also include data representing the result of processing the command. This type of command is plainly referred to as a <em>command</em> because it represents the default case.</p>
+
+<p>The Command &amp; Control API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using AMQP 1.0 in order to invoke operations of the API as described in the following sections. Throughout the remainder of this page we will simply use AMQP when referring to AMQP 1.0.</p>
+
+<h2 id="send-a-one-way-command">Send a One-Way Command</h2>
+
+<p>Business Applications use this operation to send a command to a device for which they do not expect to receive a response from the device.</p>
+
+<p><strong>Preconditions</strong></p>
+
+<ol>
+<li>The <em>Business Application</em> has established an AMQP connection with the AMQP 1.0 Network.</li>
+<li>The <em>Business Application</em> has established an AMQP link in role <em>sender</em> with the target address <code>command/${tenant_id}</code>, where <code>${tenant_id}</code> is the ID of the tenant that the device belongs to. This link is used by the <em>Business Application</em> to send command messages.</li>
+</ol>
+
+<p>The following sequence diagram illustrates the establishment of the required link:</p>
+
+<figure>
+    <img src="../command_control_send_preconditions.svg"/> <figcaption>
+            <h4>Application connecting to the AMQP 1.0 Messaging Network</h4>
+        </figcaption>
+</figure>
+
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
+    <div><p>Previous versions of Hono required applications to</p>
+
+<ul>
+<li>use a sender link with target address <code>control/${tenant_id}/${device_id}</code> for sending one-ways commands to a specific device.</li>
+</ul>
+
+<p>This link address can still be used but support for it will be removed in a future version of Hono!
+Newly built applications should <strong>only</strong> use the tenant scoped link as described above.
+Note that the deprecated link address also <strong>does not</strong> support sending commands to devices connected via a gateway.</p>
+</div>
+</div>
+
+
+<p><strong>Message Format</strong></p>
+
+<p>The following table provides an overview of the properties the <em>Business Application</em> needs to set on a one-way command 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>
+</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 target address <code>command/${tenant_id}/${device_id}</code> of the message, where <code>${device_id}</code> is the ID of the device to send the message to.</td>
+</tr>
+
+<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">The name of the command to be executed by the device.</td>
+</tr>
+
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">If present, MUST contain a <em>Media Type</em> as defined by <a href="https://tools.ietf.org/html/rfc2046">RFC 2046</a> which describes the semantics and format of the command&rsquo;s input data contained in the message payload. However, not all protocol adapters will support this property as not all transport protocols provide means to convey this information, e.g. MQTT 3.1.1 has no notion of message headers.</td>
+</tr>
+
+<tr>
+<td align="left"><em>message-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">An identifier that uniquely identifies the message at the sender side.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The command message MAY contain arbitrary payload to be sent to the device in a single AMQP <em>Data</em> section. The value of the message&rsquo;s <em>subject</em> property may provide a hint to the device regarding the format, encoding and semantics of the payload data.</p>
+
+<p>Hono indicates the outcome of the operation by means of the following AMQP delivery states:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Delivery State</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>accepted</code></td>
+<td align="left">The command has been delivered to the device for processing.</td>
+</tr>
+
+<tr>
+<td align="left"><code>released</code></td>
+<td align="left">The command has not been delivered to the device because the device is (currently) not connected.</td>
+</tr>
+
+<tr>
+<td align="left"><code>rejected</code></td>
+<td align="left">The command has not been delivered to the device because it does not contain all required information.</td>
+</tr>
+</tbody>
+</table>
+
+<p><strong>Note</strong> that Hono relies on the particular protocol adapter to deliver commands to devices. Depending on the used transport protocol and the adapter&rsquo;s implementation, the <code>accepted</code> outcome may thus indicate any of the following:</p>
+
+<ul>
+<li>An <em>attempt</em> has been made to deliver the command to the device. However, it is unclear if the device has received (or processed) the command.</li>
+<li>The device has acknowledged the reception of the command but has not processed the command yet.</li>
+<li>The device has received and processed the command.</li>
+</ul>
+
+<p><strong>Examples</strong></p>
+
+<p>The following sequence diagram shows the successful delivery of a one-way command called <code>switchOn</code> to device <code>4711</code> of the <code>DEFAULT_TENANT</code>:</p>
+
+<figure>
+    <img src="../command_control_one_way_success.svg"/> <figcaption>
+            <h4>Successfully send a One-Way Command</h4>
+        </figcaption>
+</figure>
+
+
+<p>The following sequence diagram shows how the delivery of the same one-way command fails because the device is not connected:</p>
+
+<figure>
+    <img src="../command_control_device_not_connected.svg"/> <figcaption>
+            <h4>Device not connected</h4>
+        </figcaption>
+</figure>
+
+
+<p>The following sequence diagram illustrates how a malformed command sent by a <em>Business Application</em> gets rejected:</p>
+
+<figure>
+    <img src="../command_control_malformed_message.svg"/> <figcaption>
+            <h4>Malformed Command message</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="send-a-request-response-command">Send a (Request/Response) Command</h2>
+
+<p><em>Business Applications</em> use this operation to send a command to a device for which they expect the device to send back a response.</p>
+
+<p><a name="receiver-link-precondition"></a></p>
+
+<p><strong>Preconditions</strong></p>
+
+<ol>
+<li>The <em>Business Application</em> has established an AMQP connection with the AMQP 1.0 Network.</li>
+<li>The <em>Business Application</em> has established an AMQP link in role <em>sender</em> with the target address <code>command/${tenant_id}</code>, where <code>${tenant_id}</code> is the ID of the tenant that the device belongs to. This link is used by the <em>Business Application</em> to send command messages.</li>
+<li>The <em>Business Application</em> has established an AMQP link in role <em>receiver</em> with the source address <code>command_response/${tenant_id}/${reply_id}</code>.
+This link is used by the <em>Business Application</em> to receive the response to the command from the device. This link’s source address is also used as the <code>reply-to</code> address for the request messages. The <code>${reply_id}</code> may be any arbitrary string chosen by the application.</li>
+</ol>
+
+<p>The following sequence diagram illustrates the establishment of the required links:</p>
+
+<figure>
+    <img src="../command_control_receive_preconditions.svg"/> <figcaption>
+            <h4>Application connecting to the AMQP 1.0 Messaging Network</h4>
+        </figcaption>
+</figure>
+
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
+    <div><p>Previous versions of Hono required applications to</p>
+
+<ul>
+<li>use a sender link with target address <code>control/${tenant_id}/${device_id}</code> for sending commands to a specific device and</li>
+<li>use a receiver link with source address <code>control/${tenant_id}/${device_id}/{reply_id}</code> for receiving command responses from a device.</li>
+</ul>
+
+<p>These link addresses can still be used but support for them will be removed in a future version of Hono!
+Newly built applications should <strong>only</strong> use the tenant scoped links as described above.
+Note that the deprecated link addresses also <strong>do not</strong> support sending commands to devices connected via a gateway.</p>
+</div>
+</div>
+
+
+<p><strong>Command Message Format</strong></p>
+
+<p>The following table provides an overview of the properties the <em>Business Application</em> needs to set on a command 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>
+</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 target address <code>command/${tenant_id}/${device_id}</code> of the message, where <code>${device_id}</code> is the ID of the device to send the message to.</td>
+</tr>
+
+<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">MUST contain the command name to be executed by a device.</td>
+</tr>
+
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">If present, MUST contain a <em>Media Type</em> as defined by <a href="https://tools.ietf.org/html/rfc2046">RFC 2046</a> which describes the semantics and format of the command&rsquo;s input data contained in the message payload. However, not all protocol adapters will support this property as not all transport protocols provide means to convey this information, e.g. MQTT 3.1.1 has no notion of message headers.</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">MAY contain an ID used to correlate a response message to the original request. If set, it is used as the <em>correlation-id</em> property in the response, otherwise the value of the <em>message-id</em> property is used. Either this or the <em>message-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>message-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">MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the <em>correlation-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>reply-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 source address that the application expects to receive the response from. This address MUST be the same as the source address used for establishing the client&rsquo;s receiver link (see <a href="./#receiver-link-precondition">Preconditions</a> above).</td>
+</tr>
+</tbody>
+</table>
+
+<p>The command message MAY contain arbitrary payload to be sent to the device in a single AMQP <em>Data</em> section. The value of the command message&rsquo;s <em>subject</em> value may provide a hint to the device regarding the format, encoding and semantics of the payload data.</p>
+
+<p>Hono uses following AMQP delivery states to indicate the outcome of sending the command to the device:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Delivery State</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>accepted</code></td>
+<td align="left">The command has been delivered to the device for processing.</td>
+</tr>
+
+<tr>
+<td align="left"><code>released</code></td>
+<td align="left">The command has not been delivered to the device because the device is (currently) not connected.</td>
+</tr>
+
+<tr>
+<td align="left"><code>rejected</code></td>
+<td align="left">The command has not been delivered to the device because it does not contain all required information.</td>
+</tr>
+</tbody>
+</table>
+
+<p><strong>Note</strong> that Hono relies on the particular protocol adapter to deliver commands to devices. Depending on the used transport protocol and the adapter&rsquo;s implementation, the <code>accepted</code> outcome may thus indicate any of the following:</p>
+
+<ul>
+<li>An <em>attempt</em> has been made to deliver the command to the device. However, it is unclear if the device has received (or processed) the command.</li>
+<li>The device has acknowledged the reception of the command but has not processed the command yet.</li>
+</ul>
+
+<p>An application can determine the overall outcome of the operation by means of the response to the command that is sent back by the device. An application should consider execution of a command to have failed, if it does not receive a response within a reasonable amount of time.</p>
+
+<p><strong>Response Message Format</strong></p>
+
+<p>The following table provides an overview of the properties set on a message sent in response to a command.</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>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">If present, MUST contain a <em>Media Type</em> as defined by <a href="https://tools.ietf.org/html/rfc2046">RFC 2046</a> which describes the semantics and format of the command&rsquo;s input data contained in the message payload. However, not all protocol adapters will support this property as not all transport protocols provide means to convey this information, e.g. MQTT 3.1.1 has no notion of message headers.</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 correlation ID used to match the command message with the response message containing the result of execution on the device.</td>
+</tr>
+
+<tr>
+<td align="left"><em>device_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The identifier of the device that sent the response.</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 indicate the status of the execution. See table below for possible values.</td>
+</tr>
+
+<tr>
+<td align="left"><em>tenant_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The identifier of the tenant that the device belongs to.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The <em>status</em> property must contain an <a href="https://tools.ietf.org/html/rfc7231#section-6">HTTP 1.1 response status code</a>:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Code</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>2xx</em></td>
+<td align="left">The command has been processed successfully.</td>
+</tr>
+
+<tr>
+<td align="left"><em>4xx</em></td>
+<td align="left">The command could not be processed due to a client error, e.g. malformed message payload.</td>
+</tr>
+
+<tr>
+<td align="left"><em>5xx</em></td>
+<td align="left">The command could not be processed due to an internal problem at the device side.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The semantics of the individual codes are specific to the device and command. For status codes indicating an error (codes in the <code>400 - 599</code> range) the message body MAY contain a detailed description of the error that occurred.</p>
+
+<p>If a command message response contains a payload, the body of the message MUST consist of a single AMQP <em>Data</em> section containing the response message data.</p>
+
+<p><strong>Examples</strong></p>
+
+<p>The following sequence diagram illustrates how a <em>Business Application</em> sends a command called <code>getReading</code> to device <code>4711</code> of the <code>DEFAULT_TENANT</code> and receives a response from the device:</p>
+
+<figure>
+    <img src="../command_control_success.svg"/> <figcaption>
+            <h4>Successfully send a Command</h4>
+        </figcaption>
+</figure>
+
+
+<p>The sending of a command may fail for the same reasons as those illustrated for sending a one-way command. Additionally, the sending of a command may be considered unsuccessful by an application if it does not receive the response from the device in a reasonable amount of time:</p>
+
+<figure>
+    <img src="../command_control_response_time_out.svg"/> <figcaption>
+            <h4>Command times out</h4>
+        </figcaption>
+</figure>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/command_control_device_not_connected.svg b/docs/dev/api/command_control_device_not_connected.svg
new file mode 100644
index 0000000..47ad864
--- /dev/null
+++ b/docs/dev/api/command_control_device_not_connected.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="234px" preserveAspectRatio="none" style="width:777px;height:234px;" version="1.1" viewBox="0 0 777 234" width="777.6px" zoomAndPan="magnify"><defs><filter height="300%" id="f522yk1blx9om" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="115.2" x2="115.2" y1="45.9563" y2="186.8344"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="672.6" x2="672.6" y1="45.9563" y2="186.8344"/><rect fill="#FEFECE" filter="url(#f522yk1blx9om)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="27.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="36" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f522yk1blx9om)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="27.6" y="185.6344"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="36" y="209.6285">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f522yk1blx9om)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="576.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="585" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#f522yk1blx9om)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="576.6" y="185.6344"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="585" y="209.6285">Business Application</text><polygon fill="#A80036" points="128.4,78.5156,116.4,83.3156,128.4,88.1156,123.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="121.2" x2="672" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="529.2" x="135.6" y="77.2365">transfer(to: "command/DEFAULT_TENANT/4711", subject: "switchOn")</text><path d="M9.6,98.9156 L9.6,128.9156 L216,128.9156 L216,110.9156 L204,98.9156 L9.6,98.9156 " fill="#FBFB77" filter="url(#f522yk1blx9om)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M204,98.9156 L204,110.9156 L216,110.9156 L204,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="16.8" y="119.3959">device is not connected</text><polygon fill="#A80036" points="658.8,160.4344,670.8,165.2344,658.8,170.0344,663.6,165.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="115.2" x2="666" y1="165.2344" y2="165.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="220.8" x="123.6" y="159.1553">disposition(state: "released")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+
+"Business Application" -> "AMQP 1.0 Network": transfer(to: "command/DEFAULT_TENANT/4711", subject: "switchOn")
+note over "AMQP 1.0 Network"
+device is not connected
+end note
+"AMQP 1.0 Network" -> "Business Application": disposition(state: "released")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/command_control_malformed_message.svg b/docs/dev/api/command_control_malformed_message.svg
new file mode 100644
index 0000000..20ecfd4
--- /dev/null
+++ b/docs/dev/api/command_control_malformed_message.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="318px" preserveAspectRatio="none" style="width:790px;height:318px;" version="1.1" viewBox="0 0 790 318" width="790.8px" zoomAndPan="magnify"><defs><filter height="300%" id="f10hxv9l3i6bed" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="116.4" x2="116.4" y1="45.9563" y2="270.1125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="673.8" x2="673.8" y1="45.9563" y2="270.1125"/><rect fill="#FEFECE" filter="url(#f10hxv9l3i6bed)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="28.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="37.2" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f10hxv9l3i6bed)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="28.8" y="268.9125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="37.2" y="292.9066">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f10hxv9l3i6bed)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="577.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="586.2" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#f10hxv9l3i6bed)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="577.8" y="268.9125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="586.2" y="292.9066">Business Application</text><polygon fill="#A80036" points="129.6,78.5156,117.6,83.3156,129.6,88.1156,124.8,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="122.4" x2="673.2" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="529.2" x="136.8" y="77.2365">transfer(to: "command/DEFAULT_TENANT/4711", subject: "switchOn")</text><path d="M9.6,98.9156 L9.6,128.9156 L218.4,128.9156 L218.4,110.9156 L206.4,98.9156 L9.6,98.9156 " fill="#FBFB77" filter="url(#f10hxv9l3i6bed)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M206.4,98.9156 L206.4,110.9156 L218.4,110.9156 L206.4,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="183.6" x="16.8" y="119.3959">command is malformed</text><polygon fill="#A80036" points="660,160.4344,672,165.2344,660,170.0344,664.8,165.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="116.4" x2="667.2" y1="165.2344" y2="165.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="217.2" x="124.8" y="159.1553">disposition(state: "rejected")</text><path d="M567.6,180.8344 L567.6,246.8344 L776.4,246.8344 L776.4,192.8344 L764.4,180.8344 L567.6,180.8344 " fill="#FBFB77" filter="url(#f10hxv9l3i6bed)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M764.4,180.8344 L764.4,192.8344 L776.4,192.8344 L764.4,180.8344 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="574.8" y="201.3146">may want to close</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="574.8" y="219.474">response link</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="183.6" x="574.8" y="237.6334">(if scoped to command)</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+
+"Business Application" -> "AMQP 1.0 Network": transfer(to: "command/DEFAULT_TENANT/4711", subject: "switchOn")
+note over "AMQP 1.0 Network"
+command is malformed
+end note
+"AMQP 1.0 Network" -> "Business Application": disposition(state: "rejected")
+
+note over "Business Application"
+may want to close
+response link
+(if scoped to command)
+end note
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/command_control_one_way_success.svg b/docs/dev/api/command_control_one_way_success.svg
new file mode 100644
index 0000000..c6218b3
--- /dev/null
+++ b/docs/dev/api/command_control_one_way_success.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="253.2px" preserveAspectRatio="none" style="width:759px;height:253px;" version="1.1" viewBox="0 0 759 253" width="759.6px" zoomAndPan="magnify"><defs><filter height="300%" id="frby4mmuumt0w" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="97.2" x2="97.2" y1="45.9563" y2="204.9938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="654.6" x2="654.6" y1="45.9563" y2="204.9938"/><rect fill="#FEFECE" filter="url(#frby4mmuumt0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#frby4mmuumt0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="203.7938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="227.7879">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#frby4mmuumt0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="558.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="567" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#frby4mmuumt0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="558.6" y="203.7938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="567" y="227.7879">Business Application</text><polygon fill="#A80036" points="110.4,78.5156,98.4,83.3156,110.4,88.1156,105.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="654" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="529.2" x="117.6" y="77.2365">transfer(to: "command/DEFAULT_TENANT/4711", subject: "switchOn")</text><path d="M12,98.9156 L12,146.9156 L176.4,146.9156 L176.4,110.9156 L164.4,98.9156 L12,98.9156 " fill="#FBFB77" filter="url(#frby4mmuumt0w)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M164.4,98.9156 L164.4,110.9156 L176.4,110.9156 L164.4,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="19.2" y="119.3959">forward command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="69.6" x="19.2" y="137.5553">to device</text><polygon fill="#A80036" points="640.8,178.5938,652.8,183.3937,640.8,188.1938,645.6,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="648" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="105.6" y="177.3146">disposition(state: "accepted")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+
+"Business Application" -> "AMQP 1.0 Network": transfer(to: "command/DEFAULT_TENANT/4711", subject: "switchOn")
+note over "AMQP 1.0 Network"
+forward command
+to device
+end note
+"AMQP 1.0 Network" -> "Business Application": disposition(state: "accepted")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/command_control_receive_preconditions.svg b/docs/dev/api/command_control_receive_preconditions.svg
new file mode 100644
index 0000000..63ba733
--- /dev/null
+++ b/docs/dev/api/command_control_receive_preconditions.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="327.6px" preserveAspectRatio="none" style="width:788px;height:327px;" version="1.1" viewBox="0 0 788 327" width="788.4px" zoomAndPan="magnify"><defs><filter height="300%" id="fy69okj2fbq34" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="97.2" x2="97.2" y1="45.9563" y2="279.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="683.4" x2="683.4" y1="45.9563" y2="279.7125"/><rect fill="#FEFECE" filter="url(#fy69okj2fbq34)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fy69okj2fbq34)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="302.5066">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fy69okj2fbq34)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="587.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="595.8" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#fy69okj2fbq34)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="587.4" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="595.8" y="302.5066">Business Application</text><polygon fill="#A80036" points="110.4,78.5156,98.4,83.3156,110.4,88.1156,105.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="682.8" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="50.4" x="117.6" y="77.2365">open()</text><polygon fill="#A80036" points="669.6,113.475,681.6,118.275,669.6,123.075,674.4,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="676.8" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="50.4" x="105.6" y="112.1959">open()</text><polygon fill="#A80036" points="110.4,148.4344,98.4,153.2344,110.4,158.0344,105.6,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="682.8" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="375.6" x="117.6" y="147.1553">attach(sender, target: "command/${tenant_id}")</text><polygon fill="#A80036" points="669.6,183.3937,681.6,188.1938,669.6,192.9938,674.4,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="676.8" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="388.8" x="105.6" y="182.1146">attach(receiver, source: "command/${tenant_id}")</text><polygon fill="#A80036" points="110.4,218.3531,98.4,223.1531,110.4,227.9531,105.6,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="682.8" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="558" x="117.6" y="217.074">attach(receiver, source: "command_response/${tenant_id}/${reply-id}")</text><polygon fill="#A80036" points="669.6,253.3125,681.6,258.1125,669.6,262.9125,674.4,258.1125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="676.8" y1="258.1125" y2="258.1125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="544.8" x="105.6" y="252.0334">attach(sender, target: "command_response/${tenant_id}/${reply-id}")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+
+"Business Application" -> "AMQP 1.0 Network": open()
+"AMQP 1.0 Network" -> "Business Application": open()
+"Business Application" -> "AMQP 1.0 Network": attach(sender, target: "command/${tenant_id}")
+"AMQP 1.0 Network" -> "Business Application": attach(receiver, source: "command/${tenant_id}")
+"Business Application" -> "AMQP 1.0 Network": attach(receiver, source: "command_response/${tenant_id}/${reply-id}")
+"AMQP 1.0 Network" -> "Business Application": attach(sender, target: "command_response/${tenant_id}/${reply-id}")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/command_control_response_time_out.svg b/docs/dev/api/command_control_response_time_out.svg
new file mode 100644
index 0000000..23a71e9
--- /dev/null
+++ b/docs/dev/api/command_control_response_time_out.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="471.6px" preserveAspectRatio="none" style="width:858px;height:471px;" version="1.1" viewBox="0 0 858 471" width="858px" zoomAndPan="magnify"><defs><filter height="300%" id="f1p9gym2onaiff" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1p9gym2onaiff)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="667.2" y="183.3937"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="97.2" x2="97.2" y1="45.9563" y2="423.3094"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="672.6" x2="672.6" y1="45.9563" y2="423.3094"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="815.4" x2="815.4" y1="45.9563" y2="423.3094"/><rect fill="#FEFECE" filter="url(#f1p9gym2onaiff)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f1p9gym2onaiff)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="422.1094"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="446.1035">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f1p9gym2onaiff)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="576.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="585" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#f1p9gym2onaiff)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="576.6" y="422.1094"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="585" y="446.1035">Business Application</text><rect fill="#FEFECE" filter="url(#f1p9gym2onaiff)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="781.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="790.2" y="27.5941">Timer</text><rect fill="#FEFECE" filter="url(#f1p9gym2onaiff)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="781.8" y="422.1094"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="790.2" y="446.1035">Timer</text><rect fill="#FFFFFF" filter="url(#f1p9gym2onaiff)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="667.2" y="183.3937"/><polygon fill="#A80036" points="110.4,78.5156,98.4,83.3156,110.4,88.1156,105.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="672" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="547.2" x="117.6" y="77.2365">transfer(to: "command/DEFAULT_TENANT/4711", subject: "getReading")</text><path d="M12,98.9156 L12,146.9156 L176.4,146.9156 L176.4,110.9156 L164.4,98.9156 L12,98.9156 " fill="#FBFB77" filter="url(#f1p9gym2onaiff)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M164.4,98.9156 L164.4,110.9156 L176.4,110.9156 L164.4,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="19.2" y="119.3959">forward command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="69.6" x="19.2" y="137.5553">to device</text><polygon fill="#A80036" points="652.8,178.5938,664.8,183.3937,652.8,188.1938,657.6,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="660" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="105.6" y="177.3146">disposition(state: "accepted")</text><polygon fill="#A80036" points="801.6,213.5531,813.6,218.3531,801.6,223.1531,806.4,218.3531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="673.2" x2="808.8" y1="218.3531" y2="218.3531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="36" x="681.6" y="212.274">start</text><path d="M592.8,233.9531 L592.8,281.9531 L748.8,281.9531 L748.8,245.9531 L736.8,233.9531 L592.8,233.9531 " fill="#FBFB77" filter="url(#f1p9gym2onaiff)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M736.8,233.9531 L736.8,245.9531 L748.8,245.9531 L736.8,233.9531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="130.8" x="600" y="254.4334">wait for response</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="90" x="600" y="272.5928">from device</text><polygon fill="#A80036" points="686.4,313.6312,674.4,318.4313,686.4,323.2313,681.6,318.4313" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="679.2" x2="814.8" y1="318.4313" y2="318.4313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="104.4" x="693.6" y="312.3521">fail command</text><path d="M566.4,334.0313 L566.4,400.0313 L775.2,400.0313 L775.2,346.0313 L763.2,334.0313 L566.4,334.0313 " fill="#FBFB77" filter="url(#f1p9gym2onaiff)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M763.2,334.0313 L763.2,346.0313 L775.2,346.0313 L763.2,334.0313 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="573.6" y="354.5115">may want to close</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="573.6" y="372.6709">response link</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="183.6" x="573.6" y="390.8303">(if scoped to command)</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+participant Timer
+
+"Business Application" -> "AMQP 1.0 Network": transfer(to: "command/DEFAULT_TENANT/4711", subject: "getReading")
+note over "AMQP 1.0 Network"
+forward command
+to device
+end note
+"AMQP 1.0 Network" -> "Business Application"++: disposition(state: "accepted")
+"Business Application" -> Timer-: start
+note over "Business Application"
+wait for response
+from device
+end note
+Timer -> "Business Application": fail command
+note over "Business Application"
+may want to close
+response link
+(if scoped to command)
+end note
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/command_control_send_preconditions.svg b/docs/dev/api/command_control_send_preconditions.svg
new file mode 100644
index 0000000..1a07746
--- /dev/null
+++ b/docs/dev/api/command_control_send_preconditions.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="258px" preserveAspectRatio="none" style="width:619px;height:258px;" version="1.1" viewBox="0 0 619 258" width="619.2px" zoomAndPan="magnify"><defs><filter height="300%" id="fjqnkoz0hmfro" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="97.2" x2="97.2" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="514.2" x2="514.2" y1="45.9563" y2="209.7938"/><rect fill="#FEFECE" filter="url(#fjqnkoz0hmfro)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fjqnkoz0hmfro)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="232.5879">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fjqnkoz0hmfro)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="418.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="426.6" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#fjqnkoz0hmfro)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="418.2" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="426.6" y="232.5879">Business Application</text><polygon fill="#A80036" points="110.4,78.5156,98.4,83.3156,110.4,88.1156,105.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="513.6" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="50.4" x="117.6" y="77.2365">open()</text><polygon fill="#A80036" points="500.4,113.475,512.4,118.275,500.4,123.075,505.2,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="507.6" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="50.4" x="105.6" y="112.1959">open()</text><polygon fill="#A80036" points="110.4,148.4344,98.4,153.2344,110.4,158.0344,105.6,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="513.6" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="375.6" x="117.6" y="147.1553">attach(sender, target: "command/${tenant_id}")</text><polygon fill="#A80036" points="500.4,183.3937,512.4,188.1938,500.4,192.9938,505.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="507.6" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="388.8" x="105.6" y="182.1146">attach(receiver, source: "command/${tenant_id}")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+
+"Business Application" -> "AMQP 1.0 Network": open()
+"AMQP 1.0 Network" -> "Business Application": open()
+"Business Application" -> "AMQP 1.0 Network": attach(sender, target: "command/${tenant_id}")
+"AMQP 1.0 Network" -> "Business Application": attach(receiver, source: "command/${tenant_id}")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/command_control_success.svg b/docs/dev/api/command_control_success.svg
new file mode 100644
index 0000000..99266fb
--- /dev/null
+++ b/docs/dev/api/command_control_success.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="434.4px" preserveAspectRatio="none" style="width:777px;height:434px;" version="1.1" viewBox="0 0 777 434" width="777.6px" zoomAndPan="magnify"><defs><filter height="300%" id="fwzdake5u3445" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="97.2" x2="97.2" y1="45.9563" y2="386.9906"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="672.6" x2="672.6" y1="45.9563" y2="386.9906"/><rect fill="#FEFECE" filter="url(#fwzdake5u3445)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fwzdake5u3445)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="9.6" y="385.7906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="18" y="409.7848">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fwzdake5u3445)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="576.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="585" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#fwzdake5u3445)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="576.6" y="385.7906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="585" y="409.7848">Business Application</text><polygon fill="#A80036" points="110.4,78.5156,98.4,83.3156,110.4,88.1156,105.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="672" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="547.2" x="117.6" y="77.2365">transfer(to: "command/DEFAULT_TENANT/4711", subject: "getReading")</text><path d="M12,98.9156 L12,146.9156 L176.4,146.9156 L176.4,110.9156 L164.4,98.9156 L12,98.9156 " fill="#FBFB77" filter="url(#fwzdake5u3445)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M164.4,98.9156 L164.4,110.9156 L176.4,110.9156 L164.4,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="19.2" y="119.3959">forward command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="69.6" x="19.2" y="137.5553">to device</text><polygon fill="#A80036" points="658.8,178.5938,670.8,183.3937,658.8,188.1938,663.6,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="666" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="105.6" y="177.3146">disposition(state: "accepted")</text><path d="M16.8,198.9938 L16.8,246.9937 L172.8,246.9937 L172.8,210.9938 L160.8,198.9938 L16.8,198.9938 " fill="#FBFB77" filter="url(#fwzdake5u3445)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M160.8,198.9938 L160.8,210.9938 L172.8,210.9938 L160.8,198.9938 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="130.8" x="24" y="219.474">wait for response</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="90" x="24" y="237.6334">from device</text><polygon fill="#A80036" points="658.8,278.6719,670.8,283.4719,658.8,288.2719,663.6,283.4719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="97.2" x2="666" y1="283.4719" y2="283.4719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="318" x="105.6" y="277.3928">transfer(status: "200", body: sensor data)</text><path d="M590.4,299.0719 L590.4,329.0719 L751.2,329.0719 L751.2,311.0719 L739.2,299.0719 L590.4,299.0719 " fill="#FBFB77" filter="url(#fwzdake5u3445)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M739.2,299.0719 L739.2,311.0719 L751.2,311.0719 L739.2,299.0719 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="135.6" x="597.6" y="319.5521">process response</text><polygon fill="#A80036" points="110.4,360.5906,98.4,365.3906,110.4,370.1906,105.6,365.3906" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="103.2" x2="672" y1="365.3906" y2="365.3906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="117.6" y="359.3115">disposition(state: "accepted")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Network"
+participant "Business Application"
+
+"Business Application" -> "AMQP 1.0 Network": transfer(to: "command/DEFAULT_TENANT/4711", subject: "getReading")
+note over "AMQP 1.0 Network"
+forward command
+to device
+end note
+"AMQP 1.0 Network" -> "Business Application": disposition(state: "accepted")
+note over "AMQP 1.0 Network"
+wait for response
+from device
+end note
+"AMQP 1.0 Network" -> "Business Application": transfer(status: "200", body: sensor data)
+note over "Business Application"
+process response
+end note
+"Business Application" -> "AMQP 1.0 Network": disposition(state: "accepted")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/connectToCredentials.svg b/docs/dev/api/connectToCredentials.svg
new file mode 100644
index 0000000..b06ed88
--- /dev/null
+++ b/docs/dev/api/connectToCredentials.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="327.6px" preserveAspectRatio="none" style="width:625px;height:327px;" version="1.1" viewBox="0 0 625 327" width="625.2px" zoomAndPan="magnify"><defs><filter height="300%" id="fxmll93e7nmsu" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fxmll93e7nmsu)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="521.4" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fxmll93e7nmsu)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="521.4" y="153.2344"/><rect fill="#FFFFFF" filter="url(#fxmll93e7nmsu)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="521.4" y="223.1531"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="279.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="527.4" x2="527.4" y1="45.9563" y2="279.7125"/><rect fill="#FEFECE" filter="url(#fxmll93e7nmsu)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#fxmll93e7nmsu)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="302.5066">Client</text><rect fill="#FEFECE" filter="url(#fxmll93e7nmsu)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="175.2" x="437.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="158.4" x="445.8" y="27.5941">Credentials Service</text><rect fill="#FEFECE" filter="url(#fxmll93e7nmsu)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="175.2" x="437.4" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="158.4" x="445.8" y="302.5066">Credentials Service</text><rect fill="#FFFFFF" filter="url(#fxmll93e7nmsu)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="521.4" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fxmll93e7nmsu)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="521.4" y="153.2344"/><rect fill="#FFFFFF" filter="url(#fxmll93e7nmsu)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="521.4" y="223.1531"/><polygon fill="#A80036" points="507,78.5156,519,83.3156,507,88.1156,511.8,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="514.2" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="52.2" y="77.2365">1.1 open</text><polygon fill="#A80036" points="57,113.475,45,118.275,57,123.075,52.2,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="526.2" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="64.2" y="112.1959">1.2 open</text><polygon fill="#A80036" points="507,148.4344,519,153.2344,507,158.0344,511.8,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="514.2" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="354" x="52.2" y="147.1553">2.1 attach(sender, "credentials/${tenant_id}")</text><polygon fill="#A80036" points="57,183.3937,45,188.1938,57,192.9938,52.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="526.2" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="362.4" x="64.2" y="182.1146">2.2 attach(receiver, "credentials/${tenant_id}")</text><polygon fill="#A80036" points="507,218.3531,519,223.1531,507,227.9531,511.8,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="514.2" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="454.8" x="52.2" y="217.074">3.1 attach(receiver, "credentials/${tenant_id}/${reply-to}")</text><polygon fill="#A80036" points="57,253.3125,45,258.1125,57,262.9125,52.2,258.1125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="526.2" y1="258.1125" y2="258.1125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="446.4" x="64.2" y="252.0334">3.2 attach(sender, "credentials/${tenant_id}/${reply-to}")</text><!--
+@startuml
+scale 1.2
+
+Client -> "Credentials Service"++: 1.1 open
+"Credentials Service" -> Client- -: 1.2 open
+Client -> "Credentials Service"++: 2.1 attach(sender, "credentials/${tenant_id}")
+"Credentials Service" -> Client- -: 2.2 attach(receiver, "credentials/${tenant_id}")
+Client -> "Credentials Service"++: 3.1 attach(receiver, "credentials/${tenant_id}/${reply-to}")
+"Credentials Service" -> Client- -: 3.2 attach(sender, "credentials/${tenant_id}/${reply-to}")
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/connectToDeviceConnection.svg b/docs/dev/api/connectToDeviceConnection.svg
new file mode 100644
index 0000000..dfb3ce3
--- /dev/null
+++ b/docs/dev/api/connectToDeviceConnection.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="327.6px" preserveAspectRatio="none" style="width:720px;height:327px;" version="1.1" viewBox="0 0 720 327" width="720px" zoomAndPan="magnify"><defs><filter height="300%" id="f22jovr551vga" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f22jovr551vga)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="583.8" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f22jovr551vga)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="583.8" y="153.2344"/><rect fill="#FFFFFF" filter="url(#f22jovr551vga)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="583.8" y="223.1531"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="279.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="589.2" x2="589.2" y1="45.9563" y2="279.7125"/><rect fill="#FEFECE" filter="url(#f22jovr551vga)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#f22jovr551vga)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="302.5066">Client</text><rect fill="#FEFECE" filter="url(#f22jovr551vga)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="238.8" x="468" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="222" x="476.4" y="27.5941">Device Connection Service</text><rect fill="#FEFECE" filter="url(#f22jovr551vga)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="238.8" x="468" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="222" x="476.4" y="302.5066">Device Connection Service</text><rect fill="#FFFFFF" filter="url(#f22jovr551vga)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="583.8" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f22jovr551vga)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="583.8" y="153.2344"/><rect fill="#FFFFFF" filter="url(#f22jovr551vga)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="583.8" y="223.1531"/><polygon fill="#A80036" points="569.4,78.5156,581.4,83.3156,569.4,88.1156,574.2,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="576.6" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="52.2" y="77.2365">1.1 open</text><polygon fill="#A80036" points="57,113.475,45,118.275,57,123.075,52.2,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="588.6" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="64.2" y="112.1959">1.2 open</text><polygon fill="#A80036" points="569.4,148.4344,581.4,153.2344,569.4,158.0344,574.2,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="576.6" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="411.6" x="52.2" y="147.1553">2.1 attach(sender, target: "device_con/${tenant_id}")</text><polygon fill="#A80036" points="57,183.3937,45,188.1938,57,192.9938,52.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="588.6" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="424.8" x="64.2" y="182.1146">2.2 attach(receiver, source: "device_con/${tenant_id}")</text><polygon fill="#A80036" points="569.4,218.3531,581.4,223.1531,569.4,227.9531,574.2,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="576.6" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="517.2" x="52.2" y="217.074">3.1 attach(receiver, source: "device_con/${tenant_id}/${reply-to}")</text><polygon fill="#A80036" points="57,253.3125,45,258.1125,57,262.9125,52.2,258.1125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="588.6" y1="258.1125" y2="258.1125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="504" x="64.2" y="252.0334">3.2 attach(sender, target: "device_con/${tenant_id}/${reply-to}")</text><!--
+@startuml
+scale 1.2
+
+Client -> "Device Connection Service"++: 1.1 open
+"Device Connection Service" -> Client- -: 1.2 open
+Client -> "Device Connection Service"++: 2.1 attach(sender, target: "device_con/${tenant_id}")
+"Device Connection Service" -> Client- -: 2.2 attach(receiver, source: "device_con/${tenant_id}")
+Client -> "Device Connection Service"++: 3.1 attach(receiver, source: "device_con/${tenant_id}/${reply-to}")
+"Device Connection Service" -> Client- -: 3.2 attach(sender, target: "device_con/${tenant_id}/${reply-to}")
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/connectToDeviceRegistration.svg b/docs/dev/api/connectToDeviceRegistration.svg
new file mode 100644
index 0000000..f5858c6
--- /dev/null
+++ b/docs/dev/api/connectToDeviceRegistration.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="327.6px" preserveAspectRatio="none" style="width:662px;height:327px;" version="1.1" viewBox="0 0 662 327" width="662.4px" zoomAndPan="magnify"><defs><filter height="300%" id="f1haa4yxqnzi8u" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1haa4yxqnzi8u)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="525" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f1haa4yxqnzi8u)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="525" y="153.2344"/><rect fill="#FFFFFF" filter="url(#f1haa4yxqnzi8u)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="525" y="223.1531"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="279.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="531" x2="531" y1="45.9563" y2="279.7125"/><rect fill="#FEFECE" filter="url(#f1haa4yxqnzi8u)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#f1haa4yxqnzi8u)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="302.5066">Client</text><rect fill="#FEFECE" filter="url(#f1haa4yxqnzi8u)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="242.4" x="407.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="415.8" y="27.5941">Device Registration Service</text><rect fill="#FEFECE" filter="url(#f1haa4yxqnzi8u)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="242.4" x="407.4" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="225.6" x="415.8" y="302.5066">Device Registration Service</text><rect fill="#FFFFFF" filter="url(#f1haa4yxqnzi8u)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="525" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f1haa4yxqnzi8u)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="525" y="153.2344"/><rect fill="#FFFFFF" filter="url(#f1haa4yxqnzi8u)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="525" y="223.1531"/><polygon fill="#A80036" points="510.6,78.5156,522.6,83.3156,510.6,88.1156,515.4,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="517.8" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="52.2" y="77.2365">1.1 open</text><polygon fill="#A80036" points="57,113.475,45,118.275,57,123.075,52.2,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="529.8" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="64.2" y="112.1959">1.2 open</text><polygon fill="#A80036" points="510.6,148.4344,522.6,153.2344,510.6,158.0344,515.4,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="517.8" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="357.6" x="52.2" y="147.1553">2.1 attach(sender, "registration/${tenant_id}")</text><polygon fill="#A80036" points="57,183.3937,45,188.1938,57,192.9938,52.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="529.8" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="366" x="64.2" y="182.1146">2.2 attach(receiver, "registration/${tenant_id}")</text><polygon fill="#A80036" points="510.6,218.3531,522.6,223.1531,510.6,227.9531,515.4,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="517.8" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="458.4" x="52.2" y="217.074">3.1 attach(receiver, "registration/${tenant_id}/${reply-to}")</text><polygon fill="#A80036" points="57,253.3125,45,258.1125,57,262.9125,52.2,258.1125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="529.8" y1="258.1125" y2="258.1125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="450" x="64.2" y="252.0334">3.2 attach(sender, "registration/${tenant_id}/${reply-to}")</text><!--
+@startuml
+scale 1.2
+
+Client -> "Device Registration Service"++: 1.1 open
+"Device Registration Service" -> Client- -: 1.2 open
+Client -> "Device Registration Service"++: 2.1 attach(sender, "registration/${tenant_id}")
+"Device Registration Service" -> Client- -: 2.2 attach(receiver, "registration/${tenant_id}")
+Client -> "Device Registration Service"++: 3.1 attach(receiver, "registration/${tenant_id}/${reply-to}")
+"Device Registration Service" -> Client- -: 3.2 attach(sender, "registration/${tenant_id}/${reply-to}")
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/consumeEvent_Success.svg b/docs/dev/api/consumeEvent_Success.svg
new file mode 100644
index 0000000..541f10d
--- /dev/null
+++ b/docs/dev/api/consumeEvent_Success.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="187.2px" preserveAspectRatio="none" style="width:589px;height:187px;" version="1.1" viewBox="0 0 589 187" width="589.2px" zoomAndPan="magnify"><defs><filter height="300%" id="f1j88j41ohd0n4" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1j88j41ohd0n4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="478.2" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="144" x2="144" y1="45.9563" y2="139.875"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="483.6" x2="483.6" y1="45.9563" y2="139.875"/><rect fill="#FEFECE" filter="url(#f1j88j41ohd0n4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="18" y="27.5941">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#f1j88j41ohd0n4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="9.6" y="138.675"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="18" y="162.6691">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#f1j88j41ohd0n4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="387.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="396" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#f1j88j41ohd0n4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="387.6" y="138.675"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="396" y="162.6691">Business Application</text><rect fill="#FFFFFF" filter="url(#f1j88j41ohd0n4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="478.2" y="83.3156"/><polygon fill="#A80036" points="463.8,78.5156,475.8,83.3156,463.8,88.1156,468.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="144.6" x2="471" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="153" y="77.2365">1.0 transfer(device_id: 4711, body: data)</text><polygon fill="#A80036" points="157.8,113.475,145.8,118.275,157.8,123.075,153,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="150.6" x2="483" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="254.4" x="165" y="112.1959">1.1 disposition(state: "accepted")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Messaging Network"
+participant "Business Application"
+
+"AMQP 1.0 Messaging Network" -> "Business Application"+: 1.0 transfer(device_id: 4711, body: data)
+"Business Application" -> "AMQP 1.0 Messaging Network"-: 1.1 disposition(state: "accepted")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/consumeTelemetry_Success.svg b/docs/dev/api/consumeTelemetry_Success.svg
new file mode 100644
index 0000000..d543c4a
--- /dev/null
+++ b/docs/dev/api/consumeTelemetry_Success.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="187.2px" preserveAspectRatio="none" style="width:601px;height:187px;" version="1.1" viewBox="0 0 601 187" width="601.2px" zoomAndPan="magnify"><defs><filter height="300%" id="fk0kzz7ikwsfa" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fk0kzz7ikwsfa)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="490.2" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="144" x2="144" y1="45.9563" y2="139.875"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="495.6" x2="495.6" y1="45.9563" y2="139.875"/><rect fill="#FEFECE" filter="url(#fk0kzz7ikwsfa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="18" y="27.5941">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#fk0kzz7ikwsfa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="9.6" y="138.675"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="18" y="162.6691">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#fk0kzz7ikwsfa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="399.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="408" y="27.5941">Business Application</text><rect fill="#FEFECE" filter="url(#fk0kzz7ikwsfa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="188.4" x="399.6" y="138.675"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="171.6" x="408" y="162.6691">Business Application</text><rect fill="#FFFFFF" filter="url(#fk0kzz7ikwsfa)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="490.2" y="83.3156"/><polygon fill="#A80036" points="475.8,78.5156,487.8,83.3156,475.8,88.1156,480.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="144.6" x2="483" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="322.8" x="153" y="77.2365">1.0 transfer(device_id: "4711", body: data)</text><polygon fill="#A80036" points="157.8,113.475,145.8,118.275,157.8,123.075,153,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="150.6" x2="495" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="254.4" x="165" y="112.1959">1.1 disposition(state: "accepted")</text><!--
+@startuml
+scale 1.2
+
+participant "AMQP 1.0 Messaging Network"
+participant "Business Application"
+
+"AMQP 1.0 Messaging Network" -> "Business Application"+: 1.0 transfer(device_id: "4711", body: data)
+"Business Application" -> "AMQP 1.0 Messaging Network"-: 1.1 disposition(state: "accepted")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/credentials-api/index.html b/docs/dev/api/credentials-api/index.html
new file mode 100644
index 0000000..bea1a0f
--- /dev/null
+++ b/docs/dev/api/credentials-api/index.html
@@ -0,0 +1,2816 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Credentials API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Credentials API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Credentials API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/credentials-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/credentials-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/credentials-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/credentials-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Credentials-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Credentials API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#preconditions-for-invoking-the-credentials-api">Preconditions for invoking the Credentials API</a></li>
+<li><a href="#get-credentials">Get Credentials</a></li>
+<li><a href="#delivery-states">Delivery States</a></li>
+<li><a href="#credentials-format">Credentials Format</a>
+<ul>
+<li><a href="#secrets-format">Secrets Format</a></li>
+<li><a href="#examples">Examples</a></li>
+</ul></li>
+<li><a href="#credential-verification">Credential Verification</a></li>
+<li><a href="#standard-credential-types">Standard Credential Types</a>
+<ul>
+<li><a href="#common-properties">Common Properties</a></li>
+<li><a href="#hashed-password">Hashed Password</a></li>
+<li><a href="#pre-shared-key">Pre-Shared Key</a></li>
+<li><a href="#x-509-certificate">X.509 Certificate</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Credentials API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Credentials API</em> is used by <em>Protocol Adapters</em> to retrieve credentials used to authenticate <em>Devices</em> connecting to the adapter. In particular, the API supports the look up <em>shared secrets</em> which are often used by IoT devices by means of <em>username/password</em> based authentication schemes.</p>
+
+<p>Credentials are of a certain <em>type</em> which indicates which authentication mechanism the credentials can be used with. Each set of credentials also contains an <em>authentication identity</em> which is the identity claimed by the device during authentication. This authentication identity is usually different from the <em>device-id</em> the device has been registered under. A device may have multiple sets of credentials, using arbitrary <em>authentication identities</em>.</p>
+
+<p>The Credentials API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.</p>
+
+<p><a name="preconditions"></a></p>
+
+<h2 id="preconditions-for-invoking-the-credentials-api">Preconditions for invoking the Credentials API</h2>
+
+<ol>
+<li>Client has established an AMQP connection with the Credentials service.</li>
+<li>Client has established an AMQP link in role <em>sender</em> on the connection using target address <code>credentials/${tenant_id}</code>. This link is used by the client to send commands to the Credentials service.</li>
+<li>Client has established an AMQP link in role <em>receiver</em> on the connection using source address <code>credentials/${tenant_id}/${reply-to}</code> where <em>reply-to</em> may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Credentials service. This link&rsquo;s source address is also referred to as the <em>reply-to</em> address for the request messages.</li>
+</ol>
+
+<figure>
+    <img src="../connectToCredentials.svg"
+         alt="A client establishes an AMQP connection and the links required to invoke operations of the Credentials service"/> <figcaption>
+            <h4>Client connecting to Credentials service</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="get-credentials">Get Credentials</h2>
+
+<p>Protocol adapters use this command to <em>look up</em> credentials of a particular type for a device identity.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<figure>
+    <img src="../getCredentials_Success.svg"
+         alt="A client sends a request message for looking up device credentials and receives a response containing the credentials"/> <figcaption>
+            <h4>Client looking up credentials for a device</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>Request Message Format</strong></p>
+
+<p>The following table provides an overview of the properties a client needs to set on an <em>get credentials</em> message.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">MAY contain an ID used to correlate a response message to the original request. If set, it is used as the <em>correlation-id</em> property in the response, otherwise the value of the <em>message-id</em> property is used. Either this or the <em>message-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>message-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">MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the <em>correlation-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>reply-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 source address that the client wants to receive response messages from. This address MUST be the same as the source address used for establishing the client&rsquo;s receive link (see <a href="#preconditions">Preconditions</a>).</td>
+</tr>
+
+<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">MUST contain the value <code>get</code>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The body of the request MUST consist of a single <em>Data</em> section containing a UTF-8 encoded string representation of a single JSON object having the following members:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>type</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The type of credentials to look up. Potential values include (but are not limited to) <code>psk</code>, <code>x509-cert</code>, <code>hashed-password</code> etc.</td>
+</tr>
+
+<tr>
+<td align="left"><em>auth-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The authentication identifier to look up credentials for.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Additionally, the body MAY contain arbitrary properties that service implementations can use to determine a device&rsquo;s identity.</p>
+
+<p>The following request payload may be used to look up the hashed password for a device with the authentication identifier <code>sensor1</code>:</p>
+
+<pre><code class="language-json">{
+  &quot;type&quot;: &quot;hashed-password&quot;,
+  &quot;auth-id&quot;: &quot;sensor1&quot;
+}
+</code></pre>
+
+<p><strong>Response Message Format</strong></p>
+
+<p>A response to a <em>get credentials</em> request contains 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">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">Contains the <em>message-id</em> (or the <em>correlation-id</em>, if specified) of the request message that this message is the response to.</td>
+</tr>
+
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">MUST be set to <code>application/json</code> if the invocation of the operation was successful and the body of the response message contains payload as described below.</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>int</em></td>
+<td align="left">Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined below.</td>
+</tr>
+
+<tr>
+<td align="left"><em>cache_control</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">Contains an <a href="https://tools.ietf.org/html/rfc2616#section-14.9">RFC 2616</a> compliant <em>cache directive</em>. The directive contained in the property MUST be obeyed by clients that are caching responses.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The response message payload MUST contain credential information as defined in <a href="#credentials-format">Credentials Format</a> if the <em>status</em> is <code>200</code>.</p>
+
+<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Code</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>200</em></td>
+<td align="left">OK, the payload contains the credentials for the authentication identifier.</td>
+</tr>
+
+<tr>
+<td align="left"><em>400</em></td>
+<td align="left">Bad Request, the request message did not contain all mandatory properties.</td>
+</tr>
+
+<tr>
+<td align="left"><em>404</em></td>
+<td align="left">Not Found, there are no credentials registered matching the criteria.</td>
+</tr>
+</tbody>
+</table>
+
+<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.
+In this case, the response message&rsquo;s <em>content-type</em> property SHOULD be set accordingly.</p>
+
+<h2 id="delivery-states">Delivery States</h2>
+
+<p>The Credentials service uses the following AMQP message delivery states when receiving request messages from clients:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Delivery State</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>ACCEPTED</em></td>
+<td align="left">Indicates that the request message has been received and accepted for processing.</td>
+</tr>
+
+<tr>
+<td align="left"><em>REJECTED</em></td>
+<td align="left">Indicates that the request message has been received but cannot be processed. The disposition frame&rsquo;s <em>error</em> field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="credentials-format">Credentials Format</h2>
+
+<p>Credential data is carried in the body of an AMQP message as part of a single <em>Data</em> section. The message&rsquo;s <em>content-type</em> property must be set to <code>application/json</code>.</p>
+
+<p>The credential data is contained in the Data section as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.</p>
+
+<p>The table below provides an overview of the standard members defined for the JSON object:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>device-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The ID of the device to which the credentials belong.</td>
+</tr>
+
+<tr>
+<td align="left"><em>type</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The credential type name. The value may be arbitrarily chosen by clients but SHOULD reflect the particular type of authentication mechanism the credentials are to be used with. Possible values include (but are not limited to) <code>psk</code>, <code>x509-cert</code>, <code>hashed-password</code> etc.</td>
+</tr>
+
+<tr>
+<td align="left"><em>auth-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The identity that the device should be authenticated as.</td>
+</tr>
+
+<tr>
+<td align="left"><em>enabled</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>boolean</em></td>
+<td align="left"><em>true</em></td>
+<td align="left">If set to <em>false</em> the credentials are not supposed to be used to authenticate devices any longer. This may e.g. be used to disable a particular mechanism for authenticating the device. <strong>NB</strong> It is the responsibility of the protocol adapter to make use of this information.</td>
+</tr>
+
+<tr>
+<td align="left"><em>secrets</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>array</em></td>
+<td align="left"></td>
+<td align="left">A list of secrets scoped to a particular time period. See <a href="#secrets-format">Secrets Format</a> for details. <strong>NB</strong> This array must contain at least one element - an empty array is considered an error.</td>
+</tr>
+</tbody>
+</table>
+
+<p>For each set of credentials the combination of <em>auth-id</em> and <em>type</em> MUST be unique within a tenant.</p>
+
+<p>The device registry may choose to not return information which is not suitable for authentication a device. This includes for example the <code>enabled</code> property. If set to <code>false</code>, then the device registry may choose to treat this request as if no credentials would be found. For secrets for example, this could mean that the device registry does not return secrets which are not valid at the current point in time.</p>
+
+<p><strong>NB</strong> Care needs to be taken that the value for the <em>authentication identifier</em> is compliant with the authentication mechanism(s) it is supposed to be used with. For example, when using standard HTTP Basic authentication, the <em>username</em> part of the Basic Authorization header value (which corresponds to the <em>auth-id</em>) MUST not contain any <em>colon</em> (<code>:</code>) characters, because the colon character is used as the separator between username and password. Similar constraints may exist for other authentication mechanisms, so the <em>authentication identifier</em> needs to be chosen with the anticipated mechanism(s) being used in mind. Otherwise, devices may fail to authenticate with protocol adapters, even if the credentials provided by the device match the credentials registered for the device. In general, using only characters from the <code>[a-zA-Z0-9_-]</code> range for the authentication identifier should be compatible with most mechanisms.</p>
+
+<h3 id="secrets-format">Secrets Format</h3>
+
+<p>Each set of credentials may contain arbitrary <em>secrets</em> scoped to a particular <em>validity period</em> during which the secrets may be used for authenticating a device. The validity periods MAY overlap in order to support the process of changing a secret on a device that itself doesn&rsquo;t support the definition of multiple secrets for gapless authentication across adjacent validity periods.</p>
+
+<p>The table below contains the properties used to define the validity period of a single secret:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>not-before</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>null</code></td>
+<td align="left">The point in time from which on the secret may be used to authenticate devices. If not <em>null</em>, the value MUST be an <a href="https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations">ISO 8601 compliant <em>combined date and time representation in extended format</em></a>. <strong>NB</strong> It is up to the discretion of the protocol adapter to make use of this information.</td>
+</tr>
+
+<tr>
+<td align="left"><em>not-after</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>null</code></td>
+<td align="left">The point in time until which the secret may be used to authenticate devices. If not <em>null</em>, the value MUST be an <a href="https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations">ISO 8601 compliant <em>combined date and time representation in extended format</em></a>. <strong>NB</strong> It is up to the discretion of the protocol adapter to make use of this information.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="examples">Examples</h3>
+
+<p>Below is an example for a payload containing <a href="#hashed-password">a hashed password</a> for device <code>4711</code> with auth-id <code>sensor1</code> using SHA512 as the hashing function with a 4 byte salt (Base64 encoding of <code>0x32AEF017</code>). Note that the payload does not contain a <code>not-before</code> property, thus it may be used immediately up until X-mas eve 2017.</p>
+
+<pre><code class="language-json">{
+  &quot;device-id&quot;: &quot;4711&quot;,
+  &quot;type&quot;: &quot;hashed-password&quot;,
+  &quot;auth-id&quot;: &quot;sensor1&quot;,
+  &quot;enabled&quot;: true,
+  &quot;secrets&quot;: [{
+    &quot;not-after&quot;: &quot;2017-12-24T19:00:00+0100&quot;,
+    &quot;pwd-hash&quot;: &quot;AQIDBAUGBwg=&quot;,
+    &quot;salt&quot;: &quot;Mq7wFw==&quot;,
+    &quot;hash-function&quot;: &quot;sha-512&quot;
+  }]
+}
+</code></pre>
+
+<p>The next example contains two <a href="#pre-shared-key">pre-shared keys</a> with overlapping validity periods for device <code>myDevice</code> with PSK identity <code>little-sensor2</code>.</p>
+
+<pre><code class="language-json">{
+  &quot;device-id&quot;: &quot;myDevice&quot;,
+  &quot;type&quot;: &quot;psk&quot;,
+  &quot;auth-id&quot;: &quot;little-sensor2&quot;,
+  &quot;enabled&quot;: true,
+  &quot;secrets&quot;: [{
+    &quot;not-after&quot;: &quot;2017-07-01T00:00:00+0100&quot;,
+    &quot;key&quot;: &quot;cGFzc3dvcmRfb2xk&quot;
+  },{
+    &quot;not-before&quot;: &quot;2017-06-29T00:00:00+0100&quot;,
+    &quot;key&quot;: &quot;cGFzc3dvcmRfbmV3&quot;
+  }]
+}
+</code></pre>
+
+<h2 id="credential-verification">Credential Verification</h2>
+
+<p>Protocol Adapters are responsible for authenticating devices when they connect. The Credentials API provides the <a href="#get-credentials">Get Credentials</a> operation to support Protocol Adapters in doing so as illustrated below:</p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in a <em>Protocol Adapter</em> authenticating a device.
+This is shown for the <em>MQTT Protocol Adapter</em> as example how a device authenticates with a username and a hashed-password.
+The mechanism can be transferred to other protocols in a similar manner.</p>
+
+<figure>
+    <img src="../protocolAdapterDeviceAuthentication_Success.svg"
+         alt="The MQTT Adapter sends a request message for looking up credentials presented by a device and receives a response containing the credentials for verification"/> <figcaption>
+            <h4>MQTT Adapter authenticates device using the Credentials service</h4>
+        </figcaption>
+</figure>
+
+
+<p>Protocol adapters MUST comply with the following rules when verifying credentials presented by a device:</p>
+
+<ul>
+<li>Credentials that have their <em>enabled</em> property set to <code>false</code> MUST NOT be used for authentication.</li>
+
+<li><p>Adapters MUST only consider secrets for authentication which</p>
+
+<ul>
+<li>have their <em>not-before</em> property set to either <code>null</code> or the current or a past point in time <strong>and</strong></li>
+<li>have their <em>not-after</em> property set to either <code>null</code> or the current or a future point in time.</li>
+</ul></li>
+</ul>
+
+<h2 id="standard-credential-types">Standard Credential Types</h2>
+
+<p>The following sections define some standard credential types and their properties. Applications are encouraged to make use of these types. However, the types are not enforced anywhere in Hono and clients may of course add application specific properties to the credential types.</p>
+
+<h3 id="common-properties">Common Properties</h3>
+
+<p>All credential types used with Hono MUST contain <code>device-id</code>, <code>type</code>, <code>auth-id</code>, <code>enabled</code> and <code>secrets</code> properties as defined in <a href="#credentials-format">Credentials Format</a>.</p>
+
+<h3 id="hashed-password">Hashed Password</h3>
+
+<p>A credential type for storing a (hashed) password for a device.</p>
+
+<p>Example:</p>
+
+<pre><code class="language-json">{
+  &quot;device-id&quot;: &quot;4711&quot;,
+  &quot;type&quot;: &quot;hashed-password&quot;,
+  &quot;auth-id&quot;: &quot;sensor1&quot;,
+  &quot;secrets&quot;: [{
+    &quot;pwd-hash&quot;: &quot;AQIDBAUGBwg=&quot;,
+    &quot;salt&quot;: &quot;Mq7wFw==&quot;,
+    &quot;hash-function&quot;: &quot;sha-512&quot;
+  }]
+}
+</code></pre>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Default</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>type</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The credential type name, always <code>hashed-password</code>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>auth-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The identity that the device should be authenticated as.</td>
+</tr>
+
+<tr>
+<td align="left"><em>pwd-hash</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The password hash (see table below for details).</td>
+</tr>
+
+<tr>
+<td align="left"><em>salt</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The Base64 encoding of the <em>salt</em> used in the password hash (see table below for details).</td>
+</tr>
+
+<tr>
+<td align="left"><nobr><em>hash-function</em><nobr></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>sha-256</code></td>
+<td align="left">The name of the hash function used to create the password hash. The hash functions supported by Hono are described in the table below.</td>
+</tr>
+</tbody>
+</table>
+
+<p><strong>NB</strong> It is strongly recommended to use salted password hashes only. Furthermore, the salt should be unique per user and password, so no lookup table or rainbow table attacks can be used to crack the salt-hashed password.
+Whenever a password is updated for a user, the salt should change as well.</p>
+
+<p><strong>NB</strong> The example above does not contain any of the <code>not-before</code>, <code>not-after</code> and <code>enabled</code> properties, thus the credentials can be used at any time according to the rules defined in <a href="#credential-verification">Credential Verification</a>.</p>
+
+<p>The table below describes the hash functions supported by Hono and how they map to the <em>secret</em> structure.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Salt Usage</th>
+<th align="left">Salt Location</th>
+<th align="left">Password Hash Format</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>sha-256</em></td>
+<td align="center">optional</td>
+<td align="left"><em>salt</em> field</td>
+<td align="left">The Base64 encoding of the bytes resulting from applying the <em>sha-256</em> hash function to the byte array consisting of the salt bytes (if a salt is used) and the UTF-8 encoding of the clear text password.</td>
+</tr>
+
+<tr>
+<td align="left"><em>sha-512</em></td>
+<td align="center">optional</td>
+<td align="left"><em>salt</em> field</td>
+<td align="left">The Base64 encoding of the bytes resulting from applying the <em>sha-512</em> hash function to the byte array consisting of the salt bytes (if a salt is used) and the UTF-8 encoding of the clear text password.</td>
+</tr>
+
+<tr>
+<td align="left"><em>bcrypt</em></td>
+<td align="center">mandatory</td>
+<td align="left"><em>pwd-hash</em> value</td>
+<td align="left">The output of applying the <em>Bcrypt</em> hash function to the clear text password. The salt is contained in the password hash.<br><strong>NB</strong> Hono (currently) uses <a href="https://docs.spring.io/spring-security/site/docs/4.2.7.RELEASE/reference/htmlsingle/#core-services-password-encoding">Spring Security</a> for matching clear text passwords against Bcrypt hashes. However, this library only supports hashes containing the <code>$2a$</code> prefix (see <a href="https://github.com/fpirsch/twin-bcrypt#about-prefixes">https://github.com/fpirsch/twin-bcrypt#about-prefixes</a>) so Hono will fail to verify any passwords for which the corresponding Bcrypt hashes returned by the Credentials service contain e.g. the <code>$2y$</code> prefix.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="pre-shared-key">Pre-Shared Key</h3>
+
+<p>A credential type for storing a <em>Pre-shared Key</em> as used in TLS handshakes.</p>
+
+<p>Example:</p>
+
+<pre><code class="language-json">{
+  &quot;device-id&quot;: &quot;4711&quot;,
+  &quot;type&quot;: &quot;psk&quot;,
+  &quot;auth-id&quot;: &quot;little-sensor2&quot;,
+  &quot;secrets&quot;: [{
+    &quot;key&quot;: &quot;AQIDBAUGBwg=&quot;
+  }]
+}
+</code></pre>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>type</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The credential type name, always <code>psk</code>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>auth-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The PSK identity.</td>
+</tr>
+
+<tr>
+<td align="left"><em>key</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The Base64 encoded bytes representing the shared (secret) key.</td>
+</tr>
+</tbody>
+</table>
+
+<p><strong>NB</strong> The example above does not contain any of the <code>not-before</code>, <code>not-after</code> and <code>enabled</code> properties, thus the credentials can be used at any time according to the rules defined in <a href="#credential-verification">Credential Verification</a>.</p>
+
+<h3 id="x-509-certificate">X.509 Certificate</h3>
+
+<p>A credential type for storing the <a href="https://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a> formatted <em>subject DN</em> of a client certificate that is used to authenticate the device as part of a TLS handshake.</p>
+
+<p>Example:</p>
+
+<pre><code class="language-json">{
+  &quot;device-id&quot;: &quot;4711&quot;,
+  &quot;type&quot;: &quot;x509-cert&quot;,
+  &quot;auth-id&quot;: &quot;CN=device-1,O=ACME Corporation&quot;,
+  &quot;secrets&quot;: [{}]
+}
+</code></pre>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>type</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The credential type name, always <code>x509-cert</code>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>auth-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The subject DN of the client certificate in the format defined by <a href="https://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.</td>
+</tr>
+</tbody>
+</table>
+
+<p><strong>NB</strong> The example above does not contain any of the <code>not-before</code>, <code>not-after</code> and <code>enabled</code> properties. The <code>not-before</code> and <code>not-after</code> properties should be omitted if the validity period is the same as the period indicated by the client certificate&rsquo;s corresponding properties. It is still necessary to provide a (empty) JSON object in the <em>secrets</em> array, though.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/device-connection-api/index.html b/docs/dev/api/device-connection-api/index.html
new file mode 100644
index 0000000..b77a24a
--- /dev/null
+++ b/docs/dev/api/device-connection-api/index.html
@@ -0,0 +1,2555 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Device Connection API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Device Connection API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Device Connection API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/device-connection-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/device-connection-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/device-connection-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/device-connection-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Device-Connection-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Device Connection API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#preconditions-for-invoking-the-device-connection-api">Preconditions for invoking the Device Connection API</a></li>
+<li><a href="#set-last-known-gateway-for-device">Set last known Gateway for Device</a></li>
+<li><a href="#get-last-known-gateway-for-device">Get last known Gateway for Device</a></li>
+<li><a href="#standard-message-properties">Standard Message Properties</a>
+<ul>
+<li><a href="#standard-request-properties">Standard Request Properties</a></li>
+<li><a href="#standard-response-properties">Standard Response Properties</a></li>
+</ul></li>
+<li><a href="#delivery-states">Delivery States</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Device Connection API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Device Connection API</em> is used by <em>Protocol Adapters</em> to set and retrieve information about the connections from devices or gateways to the protocol adapters.</p>
+
+<p>The Device Connection API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.</p>
+
+<p><a name="preconditions"></a></p>
+
+<h2 id="preconditions-for-invoking-the-device-connection-api">Preconditions for invoking the Device Connection API</h2>
+
+<ol>
+<li>Client has established an AMQP connection with the Device Connection service.</li>
+<li>Client has established an AMQP link in role <em>sender</em> on the connection using target address <code>device_con/${tenant_id}</code>. This link is used by the client to send commands concerning device connections to Hono.</li>
+<li>Client has established an AMQP link in role <em>receiver</em> on the connection using source address <code>device_con/${tenant_id}/${reply-to}</code> where <em>reply-to</em> may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Device Connection service. This link&rsquo;s source address is also referred to as the <em>reply-to</em> address for the request messages.</li>
+</ol>
+
+<figure>
+    <img src="../connectToDeviceConnection.svg"
+         alt="A client establishes an AMQP connection and the links required to invoke operations of the Device Connection service"/> <figcaption>
+            <h4>Client connecting to Device Connection service</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="set-last-known-gateway-for-device">Set last known Gateway for Device</h2>
+
+<p>Clients use this command to <em>set</em> the gateway that last acted on behalf of a given device.</p>
+
+<p>As this operation is invoked frequently by Hono&rsquo;s components, implementors may choose to keep this information in memory. This API doesn&rsquo;t mandate checks on the validity of the given device or gateway IDs in order not to introduce a dependency on the <em>Device Registration API</em>. However, implementations of this API may choose to perform such checks or impose a restriction on the overall amount of data that can be stored per tenant in order to protect against malicious requests.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<figure>
+    <img src="../setLastKnownGatewayForDevice_Success.svg"
+         alt="A client sends a request message for setting the last known gateway and receives a response containing a confirmation"/> <figcaption>
+            <h4>Client sets the last known gateway for a device</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>Request Message Format</strong></p>
+
+<p>The following table provides an overview of the properties a client needs to set on a message to set the last known gateway for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th 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">MUST be set to <code>set-last-gw</code>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>gateway_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The identifier of the gateway that last acted on behalf of the device identified by the <em>device_id</em> property. If a device connects directly instead of through a gateway, the device&rsquo;s identifier MUST be specified here.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>
+
+<p><strong>Response Message Format</strong></p>
+
+<p>A response to a <em>set last known gateway for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a>.</p>
+
+<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Code</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>204</em></td>
+<td align="left">OK, the last known gateway for the device has been updated.</td>
+</tr>
+
+<tr>
+<td align="left"><em>400</em></td>
+<td align="left">Bad Request, the last known gateway has not been updated due to invalid or missing data in the request.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Implementors of this API may return a <em>404</em> status code in order to indicate that no device and/or gateway with the given identifier exists for the given tenant. However, performing such a check is optional.</p>
+
+<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>
+
+<h2 id="get-last-known-gateway-for-device">Get last known Gateway for Device</h2>
+
+<p>Clients use this command to <em>retrieve</em> the gateway that last acted on behalf of a given device.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<figure>
+    <img src="../getLastKnownGatewayForDevice_Success.svg"
+         alt="A client sends a request message for retrieving the last known gateway and receives a response containing the information"/> <figcaption>
+            <h4>Client retrieving the last known gateway for a device</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>Request Message Format</strong></p>
+
+<p>The following table provides an overview of the properties a client needs to set on a message to retrieve the last known gateway for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th 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">MUST be set to <code>get-last-gw</code>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>
+
+<p><strong>Response Message Format</strong></p>
+
+<p>A response to a <em>get last known gateway for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a> as well as the properties shown in the following table:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">MUST be set to <code>application/json</code> if the invocation of the operation was successful and the body of the response message contains payload as described below.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The result of a successful invocation is carried in a single Data section of the response message as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.</p>
+
+<p>The response message JSON object has the following properties:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>gateway-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The ID of the last known gateway for the device.</td>
+</tr>
+
+<tr>
+<td align="left"><em>last-updated</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The date that the information about the last known gateway for the device was last updated. The value MUST be an <a href="https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations">ISO 8601 compliant <em>combined date and time representation in extended format</em></a>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Code</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>200</em></td>
+<td align="left">OK, the payload contains the gateway ID.</td>
+</tr>
+
+<tr>
+<td align="left"><em>400</em></td>
+<td align="left">Bad Request, the request message does not contain all required information/properties.</td>
+</tr>
+
+<tr>
+<td align="left"><em>404</em></td>
+<td align="left">Not Found, there is no last known gateway assigned to the device.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Implementors of this API may return a <em>404</em> status code in order to indicate that no device with the given identifier exists for the given tenant. However, performing such a check is optional.</p>
+
+<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>
+
+<h2 id="standard-message-properties">Standard Message Properties</h2>
+
+<p>Due to the nature of the request/response message pattern of the operations of the Device Connection API, there are some standard properties shared by all of the request and response messages exchanged as part of the operations.</p>
+
+<h3 id="standard-request-properties">Standard Request Properties</h3>
+
+<p>The following table provides an overview of the properties shared by all request messages regardless of the particular operation being invoked.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th 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">MUST be set to the value defined by the particular operation being invoked.</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>message-id</em></td>
+<td align="left">MAY contain an ID used to correlate a response message to the original request. If set, it is used as the <em>correlation-id</em> property in the response, otherwise the value of the <em>message-id</em> property is used. Either this or the <em>message-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>message-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">MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the <em>correlation-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>reply-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 source address that the client wants to received response messages from. This address MUST be the same as the source address used for establishing the client&rsquo;s receive link (see <a href="#preconditions">Preconditions</a>).</td>
+</tr>
+
+<tr>
+<td align="left"><em>device_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">MUST contain the ID of the device that is subject to the operation.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="standard-response-properties">Standard Response Properties</h3>
+
+<p>The following table provides an overview of the properties shared by all response messages regardless of the particular operation being invoked.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">Contains the <em>message-id</em> (or the <em>correlation-id</em>, if specified) of the request message that this message is the response to.</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>int</em></td>
+<td align="left">Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined for each particular operation.</td>
+</tr>
+
+<tr>
+<td align="left"><em>cache_control</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">Contains an <a href="https://tools.ietf.org/html/rfc2616#section-14.9">RFC 2616</a> compliant <em>cache directive</em>. The directive contained in the property MUST be obeyed by clients that are caching responses.</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="delivery-states">Delivery States</h2>
+
+<p>Hono uses the following AMQP message delivery states when receiving request messages from clients:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Delivery State</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>ACCEPTED</em></td>
+<td align="left">Indicates that the request message has been received and accepted for processing.</td>
+</tr>
+
+<tr>
+<td align="left"><em>REJECTED</em></td>
+<td align="left">Indicates that Hono has received the request but was not able to process it. The <em>error</em> field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.</td>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/device-registration-api/index.html b/docs/dev/api/device-registration-api/index.html
new file mode 100644
index 0000000..ad5b0f3
--- /dev/null
+++ b/docs/dev/api/device-registration-api/index.html
@@ -0,0 +1,2447 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Device Registration API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Device Registration API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Device Registration API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/device-registration-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/device-registration-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/device-registration-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/device-registration-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Device-Registration-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Device Registration API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#preconditions-for-invoking-the-device-registration-api">Preconditions for invoking the Device Registration API</a></li>
+<li><a href="#assert-device-registration">Assert Device Registration</a></li>
+<li><a href="#delivery-states">Delivery States</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Device Registration API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Device Registration API</em> is used by Hono&rsquo;s protocol adapters to get information about devices connecting to the adapters.</p>
+
+<p>The Device Registration API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.</p>
+
+<p><a name="preconditions"></a></p>
+
+<h2 id="preconditions-for-invoking-the-device-registration-api">Preconditions for invoking the Device Registration API</h2>
+
+<ol>
+<li>Client has established an AMQP connection with the Device Registration service.</li>
+<li>Client has established an AMQP link in role <em>sender</em> on the connection using target address <code>registration/${tenant_id}</code>. This link is used by the client to send request messages to the Device Registration service.</li>
+<li>Client has established an AMQP link in role <em>receiver</em> on the connection using source address <code>registration/${tenant_id}/${reply-to}</code> where <em>reply-to</em> may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Device Registration service. This link&rsquo;s source address is also referred to as the <em>reply-to</em> address for the request messages.</li>
+</ol>
+
+<figure>
+    <img src="../connectToDeviceRegistration.svg"
+         alt="A client establishes an AMQP connection and the links required to invoke operations of the Device Registration service"/> <figcaption>
+            <h4>Client connecting to Device Registration service</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="assert-device-registration">Assert Device Registration</h2>
+
+<p>Clients use this command to verify that a device is registered for a particular tenant and is enabled.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in a <em>Client</em> asserting a device&rsquo;s registration status.</p>
+
+<figure>
+    <img src="../assertDeviceRegistration_Success.svg"
+         alt="A client sends a request message for asserting a device&#39;s registration status and receives a response containing the registration status"/> <figcaption>
+            <h4>Client asserting a device&#39;s registration status</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>Request Message Format</strong></p>
+
+<p>The following table provides an overview of the properties a client needs to set on a message to assert a device&rsquo;s registration status:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">MAY contain an ID used to correlate a response message to the original request. If set, it is used as the <em>correlation-id</em> property in the response, otherwise the value of the <em>message-id</em> property is used. Either this or the <em>message-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>device_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">MUST contain the ID of the device that is subject to the operation.</td>
+</tr>
+
+<tr>
+<td align="left"><em>gateway_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">The identifier of the gateway that wants to get an assertion <em>on behalf</em> of another device (given in the <em>device_id</em> property).<br>An implementation SHOULD verify that the gateway exists, is enabled and is authorized to get an assertion for, and thus send data on behalf of, the device.</td>
+</tr>
+
+<tr>
+<td align="left"><em>message-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">MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the <em>correlation-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>reply-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 source address that the client wants to received response messages from. This address MUST be the same as the source address used for establishing the client&rsquo;s receive link (see <a href="#preconditions">Preconditions</a>).</td>
+</tr>
+
+<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">MUST be set to <code>assert</code>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>
+
+<p><strong>Response Message Format</strong></p>
+
+<p>The following table provides an overview of the properties contained in a response message to an <em>assert</em> request:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">Contains the <em>message-id</em> (or the <em>correlation-id</em>, if specified) of the request message that this message is the response to.</td>
+</tr>
+
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">MUST be set to <code>application/json</code> if the invocation of the operation was successful and the body of the response message contains payload as described below.</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>int</em></td>
+<td align="left">Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined below.</td>
+</tr>
+
+<tr>
+<td align="left"><em>cache_control</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">Contains an <a href="https://tools.ietf.org/html/rfc2616#section-14.9">RFC 2616</a> compliant <em>cache directive</em>. The directive contained in the property MUST be obeyed by clients that are caching responses.</td>
+</tr>
+</tbody>
+</table>
+
+<p>In case of a successful invocation of the operation, the body of the response message consists of a single <em>Data</em> section containing a UTF-8 encoded string representation of a single JSON object having the following properties:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>device-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The ID of the device that is subject of the assertion.</td>
+</tr>
+
+<tr>
+<td align="left"><em>via</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>array</em></td>
+<td align="left">The IDs (JSON strings) of gateways which may act on behalf of the device. This property MUST be set if any gateways are registered for the device. If the assertion request contained a <em>gateway_id</em> property and the response&rsquo;s <em>status</em> property has value <code>200</code> (indicating a successful assertion) then the array MUST at least contain the gateway ID from the request.</td>
+</tr>
+
+<tr>
+<td align="left"><em>defaults</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>object</em></td>
+<td align="left">Default values to be used by protocol adapters for augmenting messages from devices with missing information like a <em>content type</em>. It is up to the discretion of a protocol adapter if and how to use the given default values when processing messages published by the device.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Below is an example for a payload of a response to an <em>assert</em> request for device <code>4711</code> which also includes a default <em>content-type</em>:</p>
+
+<pre><code class="language-json">{
+  &quot;device-id&quot; : &quot;4711&quot;,
+  &quot;via&quot;: [&quot;4712&quot;],
+  &quot;defaults&quot;: {
+    &quot;content-type&quot;: &quot;application/vnd.acme+json&quot;
+  }
+}
+</code></pre>
+
+<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Code</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>200</em></td>
+<td align="left">OK, the device is registered for the given tenant and is enabled. The response message body contains the asserted device&rsquo;s registration status.</td>
+</tr>
+
+<tr>
+<td align="left"><em>400</em></td>
+<td align="left">Bad Request, the request message did not contain all mandatory properties.</td>
+</tr>
+
+<tr>
+<td align="left"><em>403</em></td>
+<td align="left">Forbidden, the gateway with the given <em>gateway id</em> either does not exist, is not enabled or is not authorized to get an assertion for the device with the given <em>device id</em>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>404</em></td>
+<td align="left">Not Found, there is no device registered with the given <em>device id</em> within the given <em>tenant id</em> or the device is not enabled.</td>
+</tr>
+</tbody>
+</table>
+
+<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred. In this case, the response message&rsquo;s <em>content-type</em> property SHOULD be set accordingly.</p>
+
+<h2 id="delivery-states">Delivery States</h2>
+
+<p>The Device Registration service uses the following AMQP message delivery states when receiving request messages from clients:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Delivery State</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>ACCEPTED</em></td>
+<td align="left">Indicates that the request message has been received and accepted for processing.</td>
+</tr>
+
+<tr>
+<td align="left"><em>REJECTED</em></td>
+<td align="left">Indicates that the request message has been received but cannot be processed. The disposition frame&rsquo;s <em>error</em> field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.</td>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/event-api/index.html b/docs/dev/api/event-api/index.html
new file mode 100644
index 0000000..a66cd73
--- /dev/null
+++ b/docs/dev/api/event-api/index.html
@@ -0,0 +1,2422 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Event API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Event API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Event API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/event-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/event-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/event-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/event-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Event-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Event API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#southbound-operations">Southbound Operations</a>
+<ul>
+<li><a href="#forward-event">Forward Event</a></li>
+</ul></li>
+<li><a href="#northbound-operations">Northbound Operations</a>
+<ul>
+<li><a href="#receive-events">Receive Events</a></li>
+</ul></li>
+<li><a href="#well-known-event-message-types">Well-known Event Message Types</a>
+<ul>
+<li><a href="#empty-notification">Empty Notification</a></li>
+<li><a href="#connection-event">Connection Event</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Event API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Event</em> API is used by <em>Protocol Adapters</em> to send event messages downstream.
+<em>Business Applications</em> and other consumers use the API to receive messages published by devices belonging to a particular tenant.</p>
+
+<p>The Event API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using AMQP 1.0 in order to invoke operations of the API as described in the following sections. Throughout the remainder of this page we will simply use <em>AMQP</em> when referring to AMQP 1.0.</p>
+
+<h2 id="southbound-operations">Southbound Operations</h2>
+
+<p>The following operations can be used by <em>Protocol Adapters</em> to forward event messages received from devices to downstream consumers like <em>Business Applications</em>.</p>
+
+<h3 id="forward-event">Forward Event</h3>
+
+<p><strong>Preconditions</strong></p>
+
+<ol>
+<li>Adapter has established an AMQP connection with the AMQP Messaging Network.</li>
+<li>Adapter has established an AMQP link in role <em>sender</em> with the AMQP Messaging Network using target address <code>event/${tenant_id}</code> where <code>${tenant_id}</code> is the ID of the tenant that the client wants to upload event messages for.</li>
+<li>The device for which the adapter wants to send an event has been registered (see <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a>).</li>
+</ol>
+
+<p>Hono supports <em>AT LEAST ONCE</em> delivery of <em>Event</em> 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 by Hono and may result in the termination of the link or connection (depending on the configuration of the AMQP Messaging Network).</p>
+
+<p>The AMQP messages used to forward events to the AMQP Messaging Network MUST have their <em>durable</em> property set to <code>true</code>. The AMQP Messaging Network is expected to write such messages to a persistent store before settling the transfer with the <code>accepted</code> outcome.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in the <em>MQTT Adapter</em> forwarding an event to the downstream AMQP Messaging Network.</p>
+
+<figure>
+    <img src="../forwardEvent.svg"/> <figcaption>
+            <h4>Forward event flow</h4>
+        </figcaption>
+</figure>
+
+
+<ol>
+<li><em>Device</em> <code>4711</code> publishes an event using MQTT QoS 1.
+
+<ol>
+<li><em>MQTT Adapter</em> transfers data to <em>AMQP 1.0 Messaging Network</em>.</li>
+<li><em>AMQP 1.0 Messaging Network</em> acknowledges reception of the message.</li>
+<li><em>MQTT Adapter</em> acknowledges the message published by the device.</li>
+</ol></li>
+</ol>
+
+<p>When the AMQP Messaging Network fails to settle the transfer of an event message or settles the transfer with any other outcome than <code>accepted</code>, the protocol adapter MUST NOT try to re-send such rejected messages but MUST indicate the failed transfer to the device if the transport protocol provides means to do so.</p>
+
+<p><strong>Message Format</strong></p>
+
+<p>See <a href="/hono/docs/dev/api/telemetry-api/#upload-telemetry-data">Telemetry API</a> for definition of message format.</p>
+
+<h2 id="northbound-operations">Northbound Operations</h2>
+
+<h3 id="receive-events">Receive Events</h3>
+
+<p>Hono delivers messages containing events reported by a particular device in the same order that they have been received in (using the <em>Forward Event</em> operation defined above).</p>
+
+<p>Hono supports multiple non-competing <em>Business Application</em> consumers of event messages for a given tenant. Hono allows each <em>Business Application</em> to have multiple competing consumers for event messages for a given tenant to share the load of processing the messages.</p>
+
+<p><strong>Preconditions</strong></p>
+
+<ol>
+<li>Client has established an AMQP connection with Hono.</li>
+<li>Client has established an AMQP link in role <em>receiver</em> with Hono using source address <code>event/${tenant_id}</code> where <code>${tenant_id}</code> represents the ID of the tenant the client wants to retrieve event messages for.</li>
+</ol>
+
+<p>Hono supports <em>AT LEAST ONCE</em> delivery of <em>Event</em> 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 by Hono and result in the termination of the link.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in a <em>Business Application</em> receiving an event data message from Hono.</p>
+
+<figure>
+    <img src="../consumeEvent_Success.svg"/> <figcaption>
+            <h4>Receive event data flow (success)</h4>
+        </figcaption>
+</figure>
+
+
+<ol>
+<li><em>AMQP 1.0 Messaging Network</em> delivers event message to <em>Business Application</em>.
+
+<ol>
+<li><em>Business Application</em> acknowledges reception of message.</li>
+</ol></li>
+</ol>
+
+<p><strong>Message Format</strong></p>
+
+<p>See <a href="/hono/docs/dev/api/telemetry-api/"><em>Telemetry API</em></a> for definition of message format.</p>
+
+<h2 id="well-known-event-message-types">Well-known Event Message Types</h2>
+
+<p>Hono defines several <em>well-known</em> event types which have specific semantics. Events of these types are identified by means of the AMQP message&rsquo;s <em>content-type</em>.</p>
+
+<h3 id="empty-notification">Empty Notification</h3>
+
+<p>An AMQP message containing this type of event does not have any payload so the body of the message MUST be empty.</p>
+
+<p>The AMQP 1.0 properties an event sender needs to set for an <em>empty notification</em> event are defined in the <a href="/hono/docs/dev/api/telemetry-api/"><em>Telemetry API</em></a>.</p>
+
+<p>The relevant properties are listed again in the following table:</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>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">yes</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>symbol</em></td>
+<td align="left">MUST be set to <em>application/vnd.eclipse-hono-empty-notification</em></td>
+</tr>
+
+<tr>
+<td align="left"><em>ttd</em></td>
+<td align="center">no</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>int</em></td>
+<td align="left">The <em>time &lsquo;til disconnect</em> as described in the <a href="/hono/docs/dev/api/telemetry-api/"><em>Telemetry API</em></a>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>NB: An empty notification can be used to indicate to a <em>Business Application</em> that a device is currently ready to receive an upstream message by setting the <em>ttd</em> property. <em>Backend Applications</em> may use this information to determine the time window during which the device will be able to receive a command.</p>
+
+<h3 id="connection-event">Connection Event</h3>
+
+<p>Protocol Adapters may send this type of event to indicate that a connection with a device has
+been established or has ended. Note that such events can only be sent for authenticated devices,
+though, because an event is always scoped to a tenant and the tenant of a device is
+established as part of the authentication process.</p>
+
+<p>The AMQP message for a connection event MUST contain the following properties in addition to the standard event 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>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">yes</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>symbol</em></td>
+<td align="left">Must be set to  <em>application/vnd.eclipse-hono-dc-notification+json</em></td>
+</tr>
+
+<tr>
+<td align="left"><em>device_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The ID of the authenticated device</td>
+</tr>
+</tbody>
+</table>
+
+<p>Each connection event&rsquo;s payload MUST contain a UTF-8 encoded string representation of a single JSON object with the following fields:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>cause</em></td>
+<td align="center">yes</td>
+<td align="left"><em>string</em></td>
+<td align="left">The cause of the connection event. MUST be set to either <code>connected</code> or <code>disconnected</code>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>remote-id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>string</em></td>
+<td align="left">An identifier of the device that is the subject of this event, e.g. an IP address:port, client id etc. The format and semantics of this identifier is specific to the protocol adapter and the transport protocol it supports.</td>
+</tr>
+
+<tr>
+<td align="left"><em>source</em></td>
+<td align="center">yes</td>
+<td align="left"><em>string</em></td>
+<td align="left">The type name of the protocol adapter reporting the event, e.g. <code>hono-mqtt</code>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>data</em></td>
+<td align="center">no</td>
+<td align="left"><em>object</em></td>
+<td align="left">An arbitrary JSON object which may contain additional information about the occurrence of the event.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The example below might be used by the MQTT adapter to indicate that a connection with a device using client identifier <code>mqtt-client-id-1</code> has been established:</p>
+
+<pre><code class="language-json">{
+  &quot;cause&quot;: &quot;connected&quot;,
+  &quot;remote-id&quot;: &quot;mqtt-client-id-1&quot;,
+  &quot;source&quot;: &quot;hono-mqtt&quot;,
+  &quot;data&quot;: {
+    &quot;foo&quot;: &quot;bar&quot;
+  }
+}
+</code></pre>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/forwardEvent.svg b/docs/dev/api/forwardEvent.svg
new file mode 100644
index 0000000..30a2076
--- /dev/null
+++ b/docs/dev/api/forwardEvent.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="258px" preserveAspectRatio="none" style="width:921px;height:258px;" version="1.1" viewBox="0 0 921 258" width="921.6px" zoomAndPan="magnify"><defs><filter height="300%" id="f92uui3yoh7h1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f92uui3yoh7h1)" height="115.6781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="414.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f92uui3yoh7h1)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="772.2" y="118.275"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="48" x2="48" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="420" x2="420" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="777.6" x2="777.6" y1="45.9563" y2="209.7938"/><rect fill="#FEFECE" filter="url(#f92uui3yoh7h1)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f92uui3yoh7h1)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="232.5879">Device</text><rect fill="#FEFECE" filter="url(#f92uui3yoh7h1)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="350.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="358.8" y="27.5941">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#f92uui3yoh7h1)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="350.4" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="358.8" y="232.5879">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#f92uui3yoh7h1)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="643.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="651.6" y="27.5941">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#f92uui3yoh7h1)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="643.2" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="651.6" y="232.5879">AMQP 1.0 Messaging Network</text><rect fill="#FFFFFF" filter="url(#f92uui3yoh7h1)" height="115.6781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="414.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f92uui3yoh7h1)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="772.2" y="118.275"/><polygon fill="#A80036" points="400.2,78.5156,412.2,83.3156,400.2,88.1156,405,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="48.6" x2="407.4" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="343.2" x="57" y="77.2365">1.0 PUBLISH("e/TENANT/4711", qos=1, data)</text><polygon fill="#A80036" points="757.8,113.475,769.8,118.275,757.8,123.075,762.6,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="426.6" x2="765" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="322.8" x="435" y="112.1959">1.1 transfer(device_id: "4711", body: data)</text><polygon fill="#A80036" points="439.8,148.4344,427.8,153.2344,439.8,158.0344,435,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="432.6" x2="777" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="254.4" x="447" y="147.1553">1.2 disposition(state: "accepted")</text><polygon fill="#A80036" points="61.8,183.3937,49.8,188.1938,61.8,192.9938,57,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="54.6" x2="413.4" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="92.4" x="69" y="182.1146">1.3 PUBACK</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "MQTT Adapter"
+participant "AMQP 1.0 Messaging Network"
+
+Device -> "MQTT Adapter"++: 1.0 PUBLISH("e/TENANT/4711", qos=1, data)
+"MQTT Adapter" -> "AMQP 1.0 Messaging Network"+: 1.1 transfer(device_id: "4711", body: data)
+"AMQP 1.0 Messaging Network" -> "MQTT Adapter"-: 1.2 disposition(state: "accepted")
+"MQTT Adapter" -> Device: 1.3 PUBACK
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/forwardTelemetry_qos0.svg b/docs/dev/api/forwardTelemetry_qos0.svg
new file mode 100644
index 0000000..4ac292d
--- /dev/null
+++ b/docs/dev/api/forwardTelemetry_qos0.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="258px" preserveAspectRatio="none" style="width:889px;height:258px;" version="1.1" viewBox="0 0 889 258" width="889.2px" zoomAndPan="magnify"><defs><filter height="300%" id="fu25wuvvfg960" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fu25wuvvfg960)" height="69.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="48" x2="48" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="387.6" x2="387.6" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="745.2" x2="745.2" y1="45.9563" y2="209.7938"/><rect fill="#FEFECE" filter="url(#fu25wuvvfg960)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fu25wuvvfg960)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="232.5879">Device</text><rect fill="#FEFECE" filter="url(#fu25wuvvfg960)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="320.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="328.8" y="27.5941">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fu25wuvvfg960)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="320.4" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="328.8" y="232.5879">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fu25wuvvfg960)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="610.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="619.2" y="27.5941">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#fu25wuvvfg960)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="610.8" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="619.2" y="232.5879">AMQP 1.0 Messaging Network</text><rect fill="#FFFFFF" filter="url(#fu25wuvvfg960)" height="69.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="83.3156"/><polygon fill="#A80036" points="367.8,78.5156,379.8,83.3156,367.8,88.1156,372.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="48.6" x2="375" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="57" y="77.2365">1.0 PUT("telemetry/TENANT/4711", data)</text><polygon fill="#A80036" points="731.4,113.475,743.4,118.275,731.4,123.075,736.2,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="394.2" x2="738.6" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="322.8" x="402.6" y="112.1959">1.1 transfer(device_id: "4711", body: data)</text><polygon fill="#A80036" points="61.8,148.4344,49.8,153.2344,61.8,158.0344,57,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="54.6" x2="387" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="146.4" x="69" y="147.1553">1.2 202 (Accepted)</text><polygon fill="#A80036" points="401.4,183.3937,389.4,188.1938,401.4,192.9938,396.6,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="394.2" x2="744.6" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="254.4" x="408.6" y="182.1146">2.0 disposition(state: "accepted")</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "HTTP Adapter"
+participant "AMQP 1.0 Messaging Network"
+
+Device -> "HTTP Adapter"+: 1.0 PUT("telemetry/TENANT/4711", data)
+"HTTP Adapter" -> "AMQP 1.0 Messaging Network": 1.1 transfer(device_id: "4711", body: data)
+"HTTP Adapter" -> Device-: 1.2 202 (Accepted)
+"AMQP 1.0 Messaging Network" -> "HTTP Adapter": 2.0 disposition(state: "accepted")
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/forwardTelemetry_qos1.svg b/docs/dev/api/forwardTelemetry_qos1.svg
new file mode 100644
index 0000000..3babcfc
--- /dev/null
+++ b/docs/dev/api/forwardTelemetry_qos1.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="258px" preserveAspectRatio="none" style="width:1008px;height:258px;" version="1.1" viewBox="0 0 1008 258" width="1008px" zoomAndPan="magnify"><defs><filter height="300%" id="fb5qyniwb5b5d" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fb5qyniwb5b5d)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="501" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fb5qyniwb5b5d)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="858.6" y="118.275"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="48" x2="48" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="506.4" x2="506.4" y1="45.9563" y2="209.7938"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="864" x2="864" y1="45.9563" y2="209.7938"/><rect fill="#FEFECE" filter="url(#fb5qyniwb5b5d)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fb5qyniwb5b5d)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="232.5879">Device</text><rect fill="#FEFECE" filter="url(#fb5qyniwb5b5d)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="439.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="447.6" y="27.5941">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fb5qyniwb5b5d)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="439.2" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="447.6" y="232.5879">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fb5qyniwb5b5d)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="729.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="738" y="27.5941">AMQP 1.0 Messaging Network</text><rect fill="#FEFECE" filter="url(#fb5qyniwb5b5d)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="265.2" x="729.6" y="208.5938"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="248.4" x="738" y="232.5879">AMQP 1.0 Messaging Network</text><rect fill="#FFFFFF" filter="url(#fb5qyniwb5b5d)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="501" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fb5qyniwb5b5d)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="858.6" y="118.275"/><polygon fill="#A80036" points="486.6,78.5156,498.6,83.3156,486.6,88.1156,491.4,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="48.6" x2="493.8" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="429.6" x="57" y="77.2365">1.0 PUT("telemetry/TENANT/4711", "QoS-Level: 1", data)</text><polygon fill="#A80036" points="844.2,113.475,856.2,118.275,844.2,123.075,849,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="513" x2="851.4" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="322.8" x="521.4" y="112.1959">1.1 transfer(device_id: "4711", body: data)</text><polygon fill="#A80036" points="526.2,148.4344,514.2,153.2344,526.2,158.0344,521.4,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="519" x2="863.4" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="254.4" x="533.4" y="147.1553">1.2 disposition(state: "accepted")</text><polygon fill="#A80036" points="61.8,183.3937,49.8,188.1938,61.8,192.9938,57,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="54.6" x2="505.8" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="146.4" x="69" y="182.1146">1.3 202 (Accepted)</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "HTTP Adapter"
+participant "AMQP 1.0 Messaging Network"
+
+Device -> "HTTP Adapter"+: 1.0 PUT("telemetry/TENANT/4711", "QoS-Level: 1", data)
+"HTTP Adapter" -> "AMQP 1.0 Messaging Network"+: 1.1 transfer(device_id: "4711", body: data)
+"AMQP 1.0 Messaging Network" -> "HTTP Adapter"-: 1.2 disposition(state: "accepted")
+"HTTP Adapter" -> Device-: 1.3 202 (Accepted)
+@enduml
+
+PlantUML version 1.2019.07(Mon Jun 24 19:59:20 UTC 2019)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/get-token.svg b/docs/dev/api/get-token.svg
new file mode 100644
index 0000000..a71589a
--- /dev/null
+++ b/docs/dev/api/get-token.svg
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="544.8px" preserveAspectRatio="none" style="width:470px;height:544px;" version="1.1" viewBox="0 0 470 544" width="470.4px" zoomAndPan="magnify"><defs><filter height="300%" id="fqoijhe1a4k0w" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fqoijhe1a4k0w)" height="100.0781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="357" y="200.1938"/><rect fill="#FFFFFF" filter="url(#fqoijhe1a4k0w)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="357" y="440.1094"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="496.6688"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="363" x2="363" y1="45.9563" y2="496.6688"/><rect fill="#FEFECE" filter="url(#fqoijhe1a4k0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#fqoijhe1a4k0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="495.4688"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="519.4629">Client</text><rect fill="#FEFECE" filter="url(#fqoijhe1a4k0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="136.8" x="292.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="120" x="300.6" y="27.5941">Authentication</text><rect fill="#FEFECE" filter="url(#fqoijhe1a4k0w)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="136.8" x="292.2" y="495.4688"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="120" x="300.6" y="519.4629">Authentication</text><rect fill="#FFFFFF" filter="url(#fqoijhe1a4k0w)" height="100.0781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="357" y="200.1938"/><rect fill="#FFFFFF" filter="url(#fqoijhe1a4k0w)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="357" y="440.1094"/><polygon fill="#A80036" points="348.6,78.5156,360.6,83.3156,348.6,88.1156,353.4,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="355.8" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="290.4" x="52.2" y="77.2365">1.0 SASL PLAIN (username/password)</text><path d="M283.2,98.9156 L283.2,128.9156 L438,128.9156 L438,110.9156 L426,98.9156 L283.2,98.9156 " fill="#FBFB77" filter="url(#fqoijhe1a4k0w)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M426,98.9156 L426,110.9156 L438,110.9156 L426,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="129.6" x="290.4" y="119.3959">verify credentials</text><polygon fill="#A80036" points="57,160.4344,45,165.2344,57,170.0344,52.2,165.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="361.8" y1="165.2344" y2="165.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="96" x="64.2" y="159.1553">1.1 SASL OK</text><polygon fill="#A80036" points="342.6,195.3937,354.6,200.1938,342.6,204.9938,347.4,200.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="349.8" y1="200.1938" y2="200.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="52.2" y="194.1146">2.0 open</text><path d="M265.2,215.7938 L265.2,263.7938 L456,263.7938 L456,227.7938 L444,215.7938 L265.2,215.7938 " fill="#FBFB77" filter="url(#fqoijhe1a4k0w)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M444,215.7938 L444,227.7938 L456,227.7938 L444,215.7938 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="165.6" x="272.4" y="236.274">determine authorities</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="97.2" x="272.4" y="254.4334">create token</text><polygon fill="#A80036" points="57,295.4719,45,300.2719,57,305.0719,52.2,300.2719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="361.8" y1="300.2719" y2="300.2719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="64.2" y="294.1928">2.1 open</text><polygon fill="#A80036" points="348.6,330.4313,360.6,335.2313,348.6,340.0313,353.4,335.2313" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="355.8" y1="335.2313" y2="335.2313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="168" x="52.2" y="329.1521">3.0 attach(REC, "cbs")</text><polygon fill="#A80036" points="57,365.3906,45,370.1906,57,374.9906,52.2,370.1906" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="361.8" y1="370.1906" y2="370.1906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="78" x="64.2" y="364.1115">3.1 attach</text><polygon fill="#A80036" points="57,400.35,45,405.15,57,409.95,52.2,405.15" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="361.8" y1="405.15" y2="405.15"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="144" x="64.2" y="399.0709">3.2 transfer(token)</text><polygon fill="#A80036" points="342.6,435.3094,354.6,440.1094,342.6,444.9094,347.4,440.1094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="349.8" y1="440.1094" y2="440.1094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="68.4" x="52.2" y="434.0303">4.0 close</text><polygon fill="#A80036" points="57,470.2687,45,475.0687,57,479.8688,52.2,475.0687" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="361.8" y1="475.0687" y2="475.0687"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="68.4" x="64.2" y="468.9896">4.1 close</text><!--
+@startuml
+scale 1.2
+
+participant Client
+participant Authentication
+
+Client -> Authentication: 1.0 SASL PLAIN (username/password)
+
+note over Authentication
+    verify credentials
+end note
+
+Client <- Authentication: 1.1 SASL OK
+
+Client -> Authentication ++: 2.0 open
+
+note over Authentication
+    determine authorities
+    create token
+end note
+
+Client <- Authentication - -: 2.1 open
+
+Client -> Authentication: 3.0 attach(REC, "cbs")
+Client <- Authentication: 3.1 attach
+Client <- Authentication: 3.2 transfer(token)
+
+Client -> Authentication ++: 4.0 close
+Client <- Authentication - -: 4.1 close
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/getCredentials_Success.svg b/docs/dev/api/getCredentials_Success.svg
new file mode 100644
index 0000000..c613d22
--- /dev/null
+++ b/docs/dev/api/getCredentials_Success.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="318px" preserveAspectRatio="none" style="width:510px;height:318px;" version="1.1" viewBox="0 0 510 318" width="510px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dsrh88hi7ryz" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1dsrh88hi7ryz)" height="165.1969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="406.2" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="270.1125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="412.2" x2="412.2" y1="45.9563" y2="270.1125"/><rect fill="#FEFECE" filter="url(#f1dsrh88hi7ryz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#f1dsrh88hi7ryz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="268.9125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="292.9066">Client</text><rect fill="#FEFECE" filter="url(#f1dsrh88hi7ryz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="175.2" x="322.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="158.4" x="330.6" y="27.5941">Credentials Service</text><rect fill="#FEFECE" filter="url(#f1dsrh88hi7ryz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="175.2" x="322.2" y="268.9125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="158.4" x="330.6" y="292.9066">Credentials Service</text><rect fill="#FFFFFF" filter="url(#f1dsrh88hi7ryz)" height="165.1969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="406.2" y="83.3156"/><polygon fill="#A80036" points="391.8,78.5156,403.8,83.3156,391.8,88.1156,396.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="399" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="339.6" x="52.2" y="77.2365">transfer(subject: "get", body: search criteria)</text><path d="M49.2,98.9156 L49.2,164.9156 L258,164.9156 L258,110.9156 L246,98.9156 L49.2,98.9156 " fill="#FBFB77" filter="url(#f1dsrh88hi7ryz)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M246,98.9156 L246,110.9156 L258,110.9156 L246,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="183.6" x="56.4" y="119.3959">search criteria is a JSON</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="152.4" x="56.4" y="137.5553">object that contains</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="126" x="56.4" y="155.7146">type and auth-id</text><path d="M327.6,182.1938 L327.6,212.1938 L492,212.1938 L492,194.1938 L480,182.1938 L327.6,182.1938 " fill="#FBFB77" filter="url(#f1dsrh88hi7ryz)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M480,182.1938 L480,194.1938 L492,194.1938 L480,182.1938 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="334.8" y="202.674">lookup credentials</text><polygon fill="#A80036" points="57,243.7125,45,248.5125,57,253.3125,52.2,248.5125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="411" y1="248.5125" y2="248.5125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="64.2" y="242.4334">transfer(status: "200", body: credentials)</text><!--
+@startuml
+scale 1.2
+
+Client -> "Credentials Service"++: transfer(subject: "get", body: search criteria)
+note right of Client
+search criteria is a JSON
+object that contains
+type and auth-id
+end note
+
+note over "Credentials Service"
+lookup credentials
+end note
+
+"Credentials Service" -> Client- -: transfer(status: "200", body: credentials)
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/getLastKnownGatewayForDevice_Success.svg b/docs/dev/api/getLastKnownGatewayForDevice_Success.svg
new file mode 100644
index 0000000..d54ca6f
--- /dev/null
+++ b/docs/dev/api/getLastKnownGatewayForDevice_Success.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="318px" preserveAspectRatio="none" style="width:626px;height:318px;" version="1.1" viewBox="0 0 626 318" width="626.4px" zoomAndPan="magnify"><defs><filter height="300%" id="fr586u9aoixsx" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fr586u9aoixsx)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="467.4" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="270.1125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="472.8" x2="472.8" y1="45.9563" y2="270.1125"/><rect fill="#FEFECE" filter="url(#fr586u9aoixsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#fr586u9aoixsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="268.9125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="292.9066">Client</text><rect fill="#FEFECE" filter="url(#fr586u9aoixsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="238.8" x="351.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="222" x="360" y="27.5941">Device Connection Service</text><rect fill="#FEFECE" filter="url(#fr586u9aoixsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="238.8" x="351.6" y="268.9125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="222" x="360" y="292.9066">Device Connection Service</text><rect fill="#FFFFFF" filter="url(#fr586u9aoixsx)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="467.4" y="83.3156"/><polygon fill="#A80036" points="453,78.5156,465,83.3156,453,88.1156,457.8,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="460.2" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="400.8" x="52.2" y="77.2365">transfer(subject: "get-last-gw", device_id: "device-1")</text><path d="M328.8,98.9156 L328.8,128.9156 L612,128.9156 L612,110.9156 L600,98.9156 L328.8,98.9156 " fill="#FBFB77" filter="url(#fr586u9aoixsx)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M600,98.9156 L600,110.9156 L612,110.9156 L600,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="258" x="336" y="119.3959">get last known gateway for device</text><polygon fill="#A80036" points="57,160.4344,45,165.2344,57,170.0344,52.2,165.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="472.2" y1="165.2344" y2="165.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="330" x="64.2" y="159.1553">transfer(status: "200", body: JSON payload)</text><path d="M49.2,180.8344 L49.2,246.8344 L260.4,246.8344 L260.4,192.8344 L248.4,180.8344 L49.2,180.8344 " fill="#FBFB77" filter="url(#fr586u9aoixsx)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M248.4,180.8344 L248.4,192.8344 L260.4,192.8344 L248.4,180.8344 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="172.8" x="56.4" y="201.3146">JSON payload contains</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="93.6" x="56.4" y="219.474">- gateway-id</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="186" x="56.4" y="237.6334">- last-updated (optional)</text><!--
+@startuml
+scale 1.2
+
+Client -> "Device Connection Service": transfer(subject: "get-last-gw", device_id: "device-1")
+activate "Device Connection Service"
+note over "Device Connection Service"
+get last known gateway for device
+end note
+"Device Connection Service" -> Client: transfer(status: "200", body: JSON payload)
+deactivate "Device Connection Service"
+note right of Client
+JSON payload contains
+- gateway-id
+- last-updated (optional)
+end note
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/index.html b/docs/dev/api/index.html
new file mode 100644
index 0000000..c7372c6
--- /dev/null
+++ b/docs/dev/api/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>API :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="API :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="API :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > API
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="api">API</h1>
+
+<p>Documentation of the APIs defined by Hono&trade;.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/api/index.xml b/docs/dev/api/index.xml
new file mode 100644
index 0000000..e1f0a5f
--- /dev/null
+++ b/docs/dev/api/index.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>API on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/api/</link>
+    <description>Recent content in API on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/api/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Telemetry API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/telemetry-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/telemetry-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Telemetry&lt;/em&gt; API is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to send telemetry data downstream.
+&lt;em&gt;Business Applications&lt;/em&gt; and other consumers use the API to receive data published by devices belonging to a particular tenant.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Event API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/event-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/event-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Event&lt;/em&gt; API is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to send event messages downstream.
+&lt;em&gt;Business Applications&lt;/em&gt; and other consumers use the API to receive messages published by devices belonging to a particular tenant.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Command &amp; Control API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Command &amp;amp; Control&lt;/em&gt; API of Eclipse Hono&amp;trade; is used by &lt;em&gt;Business Applications&lt;/em&gt; to send commands to connected devices.&lt;/p&gt;
+
+&lt;p&gt;Commands can be used to trigger actions on devices. Examples include updating a configuration property, installing a software component or switching the state of an actuator.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Tenant API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/tenant-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/tenant-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Tenant API&lt;/em&gt; is used by Hono&amp;rsquo;s protocol adapters to retrieve information that affects all devices belonging to a particular tenant.
+A tenant is a logical entity, which groups together a set of devices. The information registered for a tenant is used for example to
+determine if devices belonging to the tenant are allowed to connect to a certain protocol adapter or if devices are required to authenticate.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Device Connection API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/device-connection-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/device-connection-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Device Connection API&lt;/em&gt; is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to set and retrieve information about the connections from devices or gateways to the protocol adapters.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Device Registration API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/device-registration-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/device-registration-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Device Registration API&lt;/em&gt; is used by Hono&amp;rsquo;s protocol adapters to get information about devices connecting to the adapters.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Credentials API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/credentials-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/credentials-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Credentials API&lt;/em&gt; is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to retrieve credentials used to authenticate &lt;em&gt;Devices&lt;/em&gt; connecting to the adapter. In particular, the API supports the look up &lt;em&gt;shared secrets&lt;/em&gt; which are often used by IoT devices by means of &lt;em&gt;username/password&lt;/em&gt; based authentication schemes.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Authentication API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/authentication-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/authentication-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Authentication API&lt;/em&gt; is used to retrieve a &lt;em&gt;token&lt;/em&gt; asserting a subject&amp;rsquo;s identity and granted authorities. Other service implementations use such a token to make authorization decisions on a client&amp;rsquo;s request to read or write from/to a resource or to invoke a certain operation.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Metrics</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/metrics/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/metrics/</guid>
+      <description>&lt;p&gt;Eclipse Hono&amp;trade;&amp;rsquo;s components report several metrics which may be used to gain some insight
+into the running system. For instance, the HTTP adapter reports the number of successfully
+processed telemetry messages. Some of these metrics are considered part of Hono&amp;rsquo;s external
+interface. This section describes the semantics and format of the metrics, how they can be retrieved
+and how to interpret actual values.&lt;/p&gt;</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/api/metrics/index.html b/docs/dev/api/metrics/index.html
new file mode 100644
index 0000000..a20838b
--- /dev/null
+++ b/docs/dev/api/metrics/index.html
@@ -0,0 +1,2717 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Metrics :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Metrics :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Metrics :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/metrics//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/metrics/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item active">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/metrics/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/metrics/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Metrics.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Metrics
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#reported-metrics">Reported Metrics</a>
+<ul>
+<li><a href="#common-metrics">Common Metrics</a></li>
+<li><a href="#protocol-adapter-metrics">Protocol Adapter Metrics</a>
+<ul>
+<li><a href="#minimum-message-size">Minimum Message Size</a></li>
+</ul></li>
+<li><a href="#service-metrics">Service Metrics</a></li>
+</ul></li>
+<li><a href="#legacy-metrics">Legacy Metrics</a>
+<ul>
+<li><a href="#tags">Tags</a></li>
+<li><a href="#common-metrics-1">Common Metrics</a></li>
+<li><a href="#http-metrics">HTTP Metrics</a></li>
+<li><a href="#mqtt-metrics">MQTT Metrics</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Metrics</h1>
+          
+
+        
+
+
+<p>Eclipse Hono&trade;&rsquo;s components report several metrics which may be used to gain some insight
+into the running system. For instance, the HTTP adapter reports the number of successfully
+processed telemetry messages. Some of these metrics are considered part of Hono&rsquo;s external
+interface. This section describes the semantics and format of the metrics, how they can be retrieved
+and how to interpret actual values.</p>
+
+<h2 id="reported-metrics">Reported Metrics</h2>
+
+<p>Hono uses <a href="https://micrometer.io/">Micrometer</a> in combination with Spring Boot
+to internally collect metrics. Those metrics can be exported to different
+back ends. Please refer to <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/#configuring-metrics">Configuring Metrics</a>
+for details.</p>
+
+<p>The example deployment by default uses <a href="https://prometheus.io/">Prometheus</a> as the metrics back end.</p>
+
+<p>When deploying to Kubernetes/OpenShift, the metrics reported by Hono may contain
+environment specific tags (like the <em>pod</em> name) which are added by the Prometheus
+scraper. However, those tags are not part of the Hono metrics definition.</p>
+
+<p>Hono applications may report other metrics in addition to the ones defined here.
+In particular, all components report metrics regarding the JVM&rsquo;s internal state, e.g.
+memory consumption and garbage collection status. Those metrics are not considered
+part of Hono&rsquo;s <em>official</em> metrics definition. However, all those metrics
+will still contain tags as described below.</p>
+
+<h3 id="common-metrics">Common Metrics</h3>
+
+<p>Tags for common metrics are:</p>
+
+<table>
+<thead>
+<tr>
+<th>Tag</th>
+<th>Value</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>host</em></td>
+<td><em>string</em></td>
+<td>The name of the host that the component reporting the metric is running on</td>
+</tr>
+
+<tr>
+<td><em>component-type</em></td>
+<td><code>adapter</code>, <code>service</code></td>
+<td>The type of component reporting the metric</td>
+</tr>
+
+<tr>
+<td><em>component-name</em></td>
+<td><em>string</em></td>
+<td>The name of the component reporting the metric.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The names of Hono&rsquo;s standard components are as follows:</p>
+
+<table>
+<thead>
+<tr>
+<th>Component</th>
+<th><em>component-name</em></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td>Auth Server</td>
+<td><code>hono-auth</code></td>
+</tr>
+
+<tr>
+<td>Device Registry</td>
+<td><code>hono-registry</code></td>
+</tr>
+
+<tr>
+<td>AMQP adapter</td>
+<td><code>hono-amqp</code></td>
+</tr>
+
+<tr>
+<td>CoAP adapter</td>
+<td><code>hono-coap</code></td>
+</tr>
+
+<tr>
+<td>HTTP adapter</td>
+<td><code>hono-http</code></td>
+</tr>
+
+<tr>
+<td>Kura adapter</td>
+<td><code>hono-kura-mqtt</code></td>
+</tr>
+
+<tr>
+<td>MQTT adapter</td>
+<td><code>hono-mqtt</code></td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="protocol-adapter-metrics">Protocol Adapter Metrics</h3>
+
+<p>Additional tags for protocol adapters are:</p>
+
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Value</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>direction</em></td>
+<td><code>one-way</code>, <code>request</code>, <code>response</code></td>
+<td>The direction in which a Command &amp; Control message is being sent:<br><code>one-way</code> indicates a command sent to a device for which the sending application doesn&rsquo;t expect to receive a response.<br><code>request</code> indicates a command request message sent to a device.<br><code>response</code> indicates a command response received from a device.</td>
+</tr>
+
+<tr>
+<td><em>qos</em></td>
+<td><code>0</code>, <code>1</code>, <code>unknown</code></td>
+<td>The quality of service used for a telemetry or event message.<br><code>0</code> indicates <em>at most once</em>,<br><code>1</code> indicates <em>at least once</em> and<br> <code>none</code> indicates unknown delivery semantics.</td>
+</tr>
+
+<tr>
+<td><em>status</em></td>
+<td><code>forwarded</code>, <code>unprocessable</code>, <code>undeliverable</code></td>
+<td>The processing status of a message.<br><code>forwarded</code> indicates that the message has been forwarded to a downstream consumer<br><code>unprocessable</code> indicates that the message has not been processed not forwarded, e.g. because the message was malformed<br><code>undeliverable</code> indicates that the message could not be forwarded, e.g. because there is no downstream consumer or due to an infrastructure problem</td>
+</tr>
+
+<tr>
+<td><em>tenant</em></td>
+<td><em>string</em></td>
+<td>The identifier of the tenant that the metric is being reported for</td>
+</tr>
+
+<tr>
+<td><em>ttd</em></td>
+<td><code>command</code>, <code>expired</code>, <code>none</code></td>
+<td>A status indicating the outcome of processing a TTD value contained in a message received from a device.<br><code>command</code> indicates that a command for the device has been included in the response to the device&rsquo;s request for uploading the message.<br><code>expired</code> indicates that a response without a command has been sent to the device.<br><code>none</code> indicates that either no TTD value has been specified by the device or that the protocol adapter does not support it.</td>
+</tr>
+
+<tr>
+<td><em>type</em></td>
+<td><code>telemetry</code>, <code>event</code></td>
+<td>The type of (downstream) message that the metric is being reported for.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Metrics provided by the protocol adapters are:</p>
+
+<table>
+<thead>
+<tr>
+<th>Metric</th>
+<th>Type</th>
+<th>Tags</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>hono.commands.received</em></td>
+<td>Timer</td>
+<td><em>host</em>, <em>component-type</em>, <em>component-name</em>, <em>tenant</em>, <em>type</em>, <em>status</em>, <em>direction</em></td>
+<td>The time it took to process a message conveying a command or a response to a command.</td>
+</tr>
+
+<tr>
+<td><em>hono.commands.payload</em></td>
+<td>DistributionSummary</td>
+<td><em>host</em>, <em>component-type</em>, <em>component-name</em>, <em>tenant</em>, <em>type</em>, <em>status</em>, <em>direction</em></td>
+<td>The number of bytes conveyed in the payload of a command message.</td>
+</tr>
+
+<tr>
+<td><em>hono.connections.authenticated</em></td>
+<td>Gauge</td>
+<td><em>host</em>, <em>component-type</em>, <em>component-name</em>, <em>tenant</em></td>
+<td>Current number of connected, authenticated devices. <br/> <strong>NB</strong> This metric is only supported by protocol adapters that maintain <em>connection state</em> with authenticated devices. In particular, the HTTP adapter does not support this metric.</td>
+</tr>
+
+<tr>
+<td><em>hono.connections.unauthenticated</em></td>
+<td>Gauge</td>
+<td><em>host</em>, <em>component-type</em>, <em>component-name</em></td>
+<td>Current number of connected, unauthenticated devices. <br/> <strong>NB</strong> This metric is only supported by protocol adapters that maintain <em>connection state</em> with authenticated devices. In particular, the HTTP adapter does not support this metric.</td>
+</tr>
+
+<tr>
+<td><em>hono.messages.received</em></td>
+<td>Timer</td>
+<td><em>host</em>, <em>component-type</em>, <em>component-name</em>, <em>tenant</em>, <em>type</em>, <em>status</em>, <em>qos</em>, <em>ttd</em></td>
+<td>The time it took to process a message conveying telemetry data or an event.</td>
+</tr>
+
+<tr>
+<td><em>hono.messages.payload</em></td>
+<td>DistributionSummary</td>
+<td><em>host</em>, <em>component-type</em>, <em>component-name</em>, <em>tenant</em>, <em>type</em>, <em>status</em></td>
+<td>The number of bytes conveyed in the payload of a telemetry or event message.</td>
+</tr>
+</tbody>
+</table>
+
+<h4 id="minimum-message-size">Minimum Message Size</h4>
+
+<p>If a minimum message size is configured for a <a href="/hono/docs/dev/api/tenant-api/#tenant-information-format">tenant</a>,
+then the payload size of the telemetry, event and command messages are calculated in accordance with the configured
+value and then reported to the metrics by the AMQP, HTTP and MQTT protocol adapters. If minimum message size is not
+configured for a tenant then the actual message payload size is reported.</p>
+
+<p>Assume that the minimum message size for a tenant is configured as 4096 bytes (4KB). The payload size of
+an incoming message with size 1KB is calculated as 4KB by the protocol adapters and reported to the metrics system.
+For an incoming message of size 10KB, it is reported as 12KB.</p>
+
+<h3 id="service-metrics">Service Metrics</h3>
+
+<p>Hono&rsquo;s service components do not report any metrics at the moment.</p>
+
+<h2 id="legacy-metrics">Legacy Metrics</h2>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecated</h4>
+    <div><p>This metrics configuration is still supported in Hono, but is considered
+deprecated and will be removed in a future version of Hono.</p>
+
+<p>The legacy metrics support needs to be enabled explicitly.
+See <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/#legacy-metrics-support">Legacy support</a>
+for more information.</p>
+</div>
+</div>
+
+
+<p>Enabling the legacy support sets up internal support for exporting the metrics
+in the pre-0.8 format, using the Graphite Micrometer backend, but with a
+custom (legacy) naming scheme. It still is possible to use the InfluxDB Micrometer
+backend as well, however this will export metrics in the new format, and not
+on the legacy format.</p>
+
+<p>Some users have started to build custom dash boards on top of the names of the metrics and
+associated tags that end up in the example InfluxDB. Hono will try to support such users
+by allowing future versions of Hono to be configured to report metrics to InfluxDB resulting
+in the same database structure as created by InfluxDB&rsquo;s Graphite Input.</p>
+
+<p><strong>NB</strong> This does not necessarily mean that future versions of Hono will always support
+metrics being reported using the Graphite wire format. It only means that there will be
+a way to transmit metrics to InfluxDB resulting in the same database structure.</p>
+
+<h3 id="tags">Tags</h3>
+
+<p>The InfluxDB configuration file used for the example deployment contains templates for
+extracting the following <em>tags</em> from metric names transmitted via the Graphite reporter.</p>
+
+<table>
+<thead>
+<tr>
+<th>Tag</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>host</em></td>
+<td>The name of the host that the component reporting the metric is running on.</td>
+</tr>
+
+<tr>
+<td><em>type</em></td>
+<td>The type of message that the metric is being reported for (either <code>telemetry</code> or <code>event</code>)</td>
+</tr>
+
+<tr>
+<td><em>tenant</em></td>
+<td>The name of the tenant that the metric is being reported for.</td>
+</tr>
+
+<tr>
+<td><em>protocol</em></td>
+<td>The transport protocol that has been used to send the message for which the metric is being reported (<code>http</code> or <code>mqtt</code>).</td>
+</tr>
+</tbody>
+</table>
+
+<p>The following sections describe which of these tags are extracted for which metrics specifically.</p>
+
+<h3 id="common-metrics-1">Common Metrics</h3>
+
+<p>The following table contains metrics that are collected for all protocol adapters (if applicable to the underlying transport protocol).</p>
+
+<table>
+<thead>
+<tr>
+<th>Metric</th>
+<th>Tags</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>counter.hono.connections.authenticated.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Current number of connections with authenticated devices. <strong>NB</strong> This metric is only supported by protocol adapters that maintain <em>connection state</em> with authenticated devices. In particular, the HTTP adapter does not support this metric.</td>
+</tr>
+
+<tr>
+<td><em>counter.hono.connections.unauthenticated.count</em></td>
+<td><em>host</em>, <em>protocol</em></td>
+<td>Current number of connections with unauthenticated devices. <strong>NB</strong> This metric is only supported by protocol adapters that maintain <em>connection state</em> with unauthenticated devices. In particular, the HTTP adapter does not support this metric.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.device.delivered.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Commands delivered to devices. Total count since application start.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.device.delivered.m1_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Commands delivered to devices. One minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.device.delivered.m5_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Commands delivered to devices. Five minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.device.delivered.m15_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Commands delivered to devices. Fifteen minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.device.delivered.mean_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Commands delivered to devices. Mean rate of messages since application start.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.response.delivered.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Command responses delivered to applications. Total count since application startup.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.response.delivered.m1_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Command responses delivered to applications. One minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.response.delivered.m5_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Command responses delivered to applications. Five minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.response.delivered.m15_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Command responses delivered to applications. Fifteen minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.response.delivered.mean_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Command responses delivered to applications. Mean rate of messages since the application start.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.ttd.expired.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Messages containing a TTD that expired with no pending command(s). Total count since application startup.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.ttd.expired.m1_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Messages containing a TTD that expired with no pending command(s). One minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.ttd.expired.m5_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Messages containing a TTD that expired with no pending command(s). Five minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.ttd.expired.m15_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Messages containing a TTD that expired with no pending command(s). Fifteen minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.commands.ttd.expired.mean_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>protocol</em></td>
+<td>Messages containing a TTD that expired with no pending command(s). Mean rate of messages since the application start.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="http-metrics">HTTP Metrics</h3>
+
+<p>The following table contains metrics that are collected specifically for the HTTP protocol adapter.</p>
+
+<table>
+<thead>
+<tr>
+<th>Metric</th>
+<th>Tags</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>counter.hono.http.messages.undeliverable.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages which could not be processed by the HTTP protocol adapter. Total count since application startup.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.http.messages.processed.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the HTTP protocol adapter. Total count since application startup.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.http.messages.processed.m1_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the HTTP protocol adapter. One minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.http.messages.processed.m5_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the HTTP protocol adapter. Five minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.http.messages.processed.m15_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the HTTP protocol adapter. Fifteen minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.http.messages.processed.mean_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the HTTP protocol adapter. Mean rate of messages since the application start.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="mqtt-metrics">MQTT Metrics</h3>
+
+<p>The following table contains metrics that are collected specifically for the MQTT protocol adapter.</p>
+
+<table>
+<thead>
+<tr>
+<th>Metric</th>
+<th>Tags</th>
+<th>Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><em>counter.hono.mqtt.messages.undeliverable.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages which could not be processed by the MQTT protocol adapter- Total count since application startup.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.mqtt.messages.processed.count</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the MQTT protocol adapter. Total count since application startup.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.mqtt.messages.processed.m1_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the MQTT protocol adapter. One minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.mqtt.messages.processed.m5_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the MQTT protocol adapter. Five minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.mqtt.messages.processed.m15_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the MQTT protocol adapter. Fifteen minute, exponentially weighted, moving average.</td>
+</tr>
+
+<tr>
+<td><em>meter.hono.mqtt.messages.processed.mean_rate</em></td>
+<td><em>host</em>, <em>tenant</em>, <em>type</em></td>
+<td>Messages processed by the MQTT protocol adapter. Mean rate of messages since the application start.</td>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/protocolAdapterDeviceAuthentication_Success.svg b/docs/dev/api/protocolAdapterDeviceAuthentication_Success.svg
new file mode 100644
index 0000000..e959d61
--- /dev/null
+++ b/docs/dev/api/protocolAdapterDeviceAuthentication_Success.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="369.6px" preserveAspectRatio="none" style="width:1081px;height:369px;" version="1.1" viewBox="0 0 1081 369" width="1081.2px" zoomAndPan="magnify"><defs><filter height="300%" id="f1qbr6ythy67tc" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1qbr6ythy67tc)" height="216.9562" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="318.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f1qbr6ythy67tc)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="977.4" y="118.275"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="48" x2="48" y1="45.9563" y2="321.8719"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="324" x2="324" y1="45.9563" y2="321.8719"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="983.4" x2="983.4" y1="45.9563" y2="321.8719"/><rect fill="#FEFECE" filter="url(#f1qbr6ythy67tc)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f1qbr6ythy67tc)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="320.6719"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="344.666">Device</text><rect fill="#FEFECE" filter="url(#f1qbr6ythy67tc)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="254.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="262.8" y="27.5941">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#f1qbr6ythy67tc)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="254.4" y="320.6719"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="262.8" y="344.666">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#f1qbr6ythy67tc)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="175.2" x="893.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="158.4" x="901.8" y="27.5941">Credentials Service</text><rect fill="#FEFECE" filter="url(#f1qbr6ythy67tc)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="175.2" x="893.4" y="320.6719"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="158.4" x="901.8" y="344.666">Credentials Service</text><rect fill="#FFFFFF" filter="url(#f1qbr6ythy67tc)" height="216.9562" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="318.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f1qbr6ythy67tc)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="977.4" y="118.275"/><polygon fill="#A80036" points="304.2,78.5156,316.2,83.3156,304.2,88.1156,309,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="48.6" x2="311.4" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="247.2" x="57" y="77.2365">CONNECT(username, password)</text><polygon fill="#A80036" points="963,113.475,975,118.275,963,123.075,967.8,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="330.6" x2="970.2" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="624" x="339" y="112.1959">transfer(subject: "get", body: {"type": "hashed-password", "auth-id": $username})</text><path d="M898.8,133.875 L898.8,163.875 L1063.2,163.875 L1063.2,145.875 L1051.2,133.875 L898.8,133.875 " fill="#FBFB77" filter="url(#f1qbr6ythy67tc)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M1051.2,133.875 L1051.2,145.875 L1063.2,145.875 L1051.2,133.875 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="139.2" x="906" y="154.3553">lookup credentials</text><polygon fill="#A80036" points="343.8,195.3937,331.8,200.1938,343.8,204.9938,339,200.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="336.6" x2="982.2" y1="200.1938" y2="200.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="310.8" x="351" y="194.1146">transfer(status: "200", body: credentials)</text><path d="M70.8,215.7938 L70.8,263.7938 L573.6,263.7938 L573.6,227.7938 L561.6,215.7938 L70.8,215.7938 " fill="#FBFB77" filter="url(#f1qbr6ythy67tc)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M561.6,215.7938 L561.6,227.7938 L573.6,227.7938 L561.6,215.7938 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="349.2" x="78" y="236.274">1.) Apply (salted) hash-algorithm to password</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="477.6" x="78" y="254.4334">2.) Compare result with the hashed-password from credentials</text><polygon fill="#A80036" points="61.8,295.4719,49.8,300.2719,61.8,305.0719,57,300.2719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="54.6" x2="323.4" y1="300.2719" y2="300.2719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="78" x="69" y="294.1928">CONNACK</text><!--
+@startuml
+scale 1.2
+
+Device -> "MQTT Adapter"++: CONNECT(username, password)
+
+"MQTT Adapter" -> "Credentials Service"++: transfer(subject: "get", body: {"type": "hashed-password", "auth-id": $username})
+note over "Credentials Service": lookup credentials
+"Credentials Service" -> "MQTT Adapter"- -: transfer(status: "200", body: credentials)
+
+note over "MQTT Adapter"
+1.) Apply (salted) hash-algorithm to password
+2.) Compare result with the hashed-password from credentials
+end note
+"MQTT Adapter" -> Device- -: CONNACK
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/setLastKnownGatewayForDevice_Success.svg b/docs/dev/api/setLastKnownGatewayForDevice_Success.svg
new file mode 100644
index 0000000..a9f6855
--- /dev/null
+++ b/docs/dev/api/setLastKnownGatewayForDevice_Success.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="234px" preserveAspectRatio="none" style="width:771px;height:234px;" version="1.1" viewBox="0 0 771 234" width="771.6px" zoomAndPan="magnify"><defs><filter height="300%" id="fqm2tm43gwn4n" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fqm2tm43gwn4n)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="612.6" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="186.8344"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="618" x2="618" y1="45.9563" y2="186.8344"/><rect fill="#FEFECE" filter="url(#fqm2tm43gwn4n)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#fqm2tm43gwn4n)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="185.6344"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="209.6285">Client</text><rect fill="#FEFECE" filter="url(#fqm2tm43gwn4n)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="238.8" x="496.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="222" x="505.2" y="27.5941">Device Connection Service</text><rect fill="#FEFECE" filter="url(#fqm2tm43gwn4n)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="238.8" x="496.8" y="185.6344"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="222" x="505.2" y="209.6285">Device Connection Service</text><rect fill="#FFFFFF" filter="url(#fqm2tm43gwn4n)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="612.6" y="83.3156"/><polygon fill="#A80036" points="598.2,78.5156,610.2,83.3156,598.2,88.1156,603,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="605.4" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="546" x="52.2" y="77.2365">transfer(subject: "set-last-gw", device_id: "device-1", gateway_id: "gw-1)</text><path d="M475.2,98.9156 L475.2,128.9156 L757.2,128.9156 L757.2,110.9156 L745.2,98.9156 L475.2,98.9156 " fill="#FBFB77" filter="url(#fqm2tm43gwn4n)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M745.2,98.9156 L745.2,110.9156 L757.2,110.9156 L745.2,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="256.8" x="482.4" y="119.3959">set last known gateway for device</text><polygon fill="#A80036" points="57,160.4344,45,165.2344,57,170.0344,52.2,165.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="617.4" y1="165.2344" y2="165.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="170.4" x="64.2" y="159.1553">transfer(status: "204")</text><!--
+@startuml
+scale 1.2
+
+Client -> "Device Connection Service": transfer(subject: "set-last-gw", device_id: "device-1", gateway_id: "gw-1)
+activate "Device Connection Service"
+note over "Device Connection Service"
+set last known gateway for device
+end note
+"Device Connection Service" -> Client: transfer(status: "204")
+deactivate "Device Connection Service"
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/telemetry-api/index.html b/docs/dev/api/telemetry-api/index.html
new file mode 100644
index 0000000..ec55914
--- /dev/null
+++ b/docs/dev/api/telemetry-api/index.html
@@ -0,0 +1,2390 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Telemetry API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Telemetry API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Telemetry API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/telemetry-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/telemetry-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/telemetry-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/telemetry-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Telemetry-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Telemetry API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#southbound-operations">Southbound Operations</a>
+<ul>
+<li><a href="#forward-telemetry-data">Forward Telemetry Data</a></li>
+</ul></li>
+<li><a href="#northbound-operations">Northbound Operations</a>
+<ul>
+<li><a href="#receive-telemetry-data">Receive Telemetry Data</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Telemetry API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Telemetry</em> API is used by <em>Protocol Adapters</em> to send telemetry data downstream.
+<em>Business Applications</em> and other consumers use the API to receive data published by devices belonging to a particular tenant.</p>
+
+<p>The Telemetry API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using AMQP 1.0 in order to invoke operations of the API as described in the following sections. Throughout the remainder of this page we will simply use <em>AMQP</em> when referring to AMQP 1.0.</p>
+
+<h2 id="southbound-operations">Southbound Operations</h2>
+
+<p>The following operations can be used by <em>Protocol Adapters</em> to forward telemetry data received from devices to downstream consumers like <em>Business Applications</em>.</p>
+
+<h3 id="forward-telemetry-data">Forward Telemetry Data</h3>
+
+<p><strong>Preconditions</strong></p>
+
+<ol>
+<li>Adapter has established an AMQP connection with the AMQP Messaging Network.</li>
+<li>Adapter has established an AMQP link in role <em>sender</em> with the AMQP Messaging Network using target address <code>telemetry/${tenant_id}</code> where <code>${tenant_id}</code> is the ID of the tenant that the client wants to upload telemetry data for.</li>
+<li>The device for which the adapter wants to send telemetry data has been registered (see <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a>).</li>
+</ol>
+
+<p>The adapter 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.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">snd-settle-mode</th>
+<th align="left">rcv-settle-mode</th>
+<th align="left">Delivery semantics</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>unsettled</code>, <code>mixed</code></td>
+<td align="left"><code>first</code></td>
+<td align="left">Using <code>unsettled</code> for the <em>snd-settle-mode</em> allows for adapters to implement both <em>AT LEAST ONCE</em> or <em>AT MOST ONCE</em> delivery semantics, depending on whether the adapter waits for and considers the disposition frames it receives from the AMQP Messaging Network or not. This is the recommended mode for forwarding telemetry data.</td>
+</tr>
+
+<tr>
+<td align="left"><code>settled</code></td>
+<td align="left"><code>first</code></td>
+<td align="left">Using <code>settled</code> for the <em>snd-settle-mode</em> allows for adapters 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 Hono and may result in the termination of the link or connection (depending on the configuration of the AMQP Messaging Network).</p>
+
+<p><strong>Message Flow</strong></p>
+
+<p>As indicated above, it is up to the discretion of the protocol adapter whether it wants to use <em>AT LEAST ONCE</em> or <em>AT MOST ONCE</em> delivery semantics.</p>
+
+<p>Hono&rsquo;s HTTP adapter allows devices to indicate, which delivery semantics they want to use when uploading telemetry data.</p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in the <em>HTTP Adapter</em> forwarding an <em>unsettled</em> telemetry data message to the downstream AMQP Messaging Network implementing <em>AT MOST ONCE</em> delivery semantics.</p>
+
+<figure>
+    <img src="../forwardTelemetry_qos0.svg"/> <figcaption>
+            <h4>Forward telemetry data flow (AT MOST ONCE)</h4>
+        </figcaption>
+</figure>
+
+
+<ol>
+<li><em>Device</em> <code>4711</code> PUTs telemetry data to the <em>HTTP Adapter</em>
+
+<ol>
+<li><em>HTTP Adapter</em> transfers telemetry data to <em>AMQP 1.0 Messaging Network</em>.</li>
+<li><em>HTTP Adapter</em> acknowledges the reception of the data to the <em>Device</em>.</li>
+</ol></li>
+<li><em>AMQP 1.0 Messaging Network</em> acknowledges reception of the message which is ignored by the <em>HTTP Adapter</em>.</li>
+</ol>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>In the example above the HTTP adapter does not wait for the outcome of the transfer of the message to the AMQP Messaging Network before sending back the HTTP response to the device.
+If the messaging network had sent a disposition frame with the <em>rejected</em> instead of the <em>accepted</em> outcome, the HTTP adapter would still have signaled a 202 status code back to the device. In this case the data would have been lost without the device noticing.</div>
+</div>
+
+
+<p>The following sequence diagram illustrates the flow of messages involved in the <em>HTTP Adapter</em> forwarding an <em>unsettled</em> telemetry data message to the downstream AMQP Messaging Network implementing <em>AT LEAST ONCE</em> delivery semantics.</p>
+
+<figure>
+    <img src="../forwardTelemetry_qos1.svg"/> <figcaption>
+            <h4>Forward telemetry data flow (AT LEAST ONCE)</h4>
+        </figcaption>
+</figure>
+
+
+<ol>
+<li><em>Device</em> <code>4711</code> PUTs telemetry data to the <em>HTTP Adapter</em>, indicating <em>QoS Level</em> 1.
+
+<ol>
+<li><em>HTTP Adapter</em> transfers telemetry data to <em>AMQP 1.0 Messaging Network</em>.</li>
+<li><em>AMQP 1.0 Messaging Network</em> acknowledges reception of the message.</li>
+<li><em>HTTP Adapter</em> acknowledges the reception of the data to the <em>Device</em>.</li>
+</ol></li>
+</ol>
+
+<p>When the AMQP Messaging Network fails to settle the transfer of a telemetry message or settles the transfer with any other outcome than <code>accepted</code>, the protocol adapter MUST NOT try to re-send such rejected messages but SHOULD indicate the failed transfer to the device if the transport protocol provides means to do so.</p>
+
+<p><strong>Message Format</strong></p>
+
+<p>The following table provides an overview of the properties a client needs to set on a <em>Forward Telemetry Data</em> 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>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">yes</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>symbol</em></td>
+<td align="left">A content type indicating the type and characteristics of the data contained in the payload, e.g. <code>text/plain; charset=&quot;utf-8&quot;</code> for a text message or <code>application/json</code> etc. The value may be set to <code>application/octet-stream</code> if the message payload is to be considered <em>opaque</em> binary data.</td>
+</tr>
+
+<tr>
+<td align="left"><em>creation-time</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>timestamp</em></td>
+<td align="left">The instant in time when the message has been created (see the <a href="http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-messaging-v1.0.html">AMQP 1.0 specification</a> for details). This property is mandatory if <em>ttd</em> is set, otherwise it is optional.</td>
+</tr>
+
+<tr>
+<td align="left"><em>device_id</em></td>
+<td align="center">yes</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The identifier of the device that the data in the payload is originating from.</td>
+</tr>
+
+<tr>
+<td align="left"><em>ttd</em></td>
+<td align="center">no</td>
+<td align="left"><em>application-properties</em></td>
+<td align="left"><em>int</em></td>
+<td align="left">The <em>time &lsquo;til disconnect</em> indicates the number of seconds that the device will remain connected to the protocol adapter. The value of this property must be interpreted relative to the message&rsquo;s <em>creation-time</em>. A value of <code>-1</code> is used to indicate that the device will remain connected until further notice, i.e. until another message indicates a <em>ttd</em> value of <code>0</code>. In absence of this property, the connection status of the device is to be considered indeterminate. <em>Backend Applications</em> might use this information to determine a time window during which the device will be able to receive a command.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The body of the message MUST consist of a single AMQP <em>Data</em> section containing the telemetry data. The format and encoding of the data MUST be indicated by the <em>content-type</em> and (optional) <em>content-encoding</em> properties of the message.</p>
+
+<p>Any additional properties set by the client in either the <em>properties</em> or <em>application-properties</em> sections are preserved by Hono, i.e. these properties will also be contained in the message delivered to consumers.</p>
+
+<h2 id="northbound-operations">Northbound Operations</h2>
+
+<h3 id="receive-telemetry-data">Receive Telemetry Data</h3>
+
+<p>Hono delivers messages containing telemetry data reported by a particular device in the same order that they have been received in (using the <em>Upload Telemetry Data</em> operation defined above). Hono MAY drop telemetry messages that it cannot deliver to any consumers. Reasons for this include that there are no consumers connected to Hono or the existing consumers are not able to process the messages from Hono fast enough.</p>
+
+<p>Hono supports multiple non-competing <em>Business Application</em> consumers of telemetry data for a given tenant. Hono allows each <em>Business Application</em> to have multiple competing consumers for telemetry data for a given tenant to share the load of processing the messages.</p>
+
+<p><strong>Preconditions</strong></p>
+
+<ol>
+<li>Client has established an AMQP connection with Hono.</li>
+<li>Client has established an AMQP link in role <em>receiver</em> with Hono using source address <code>telemetry/${tenant_id}</code> where <code>${tenant_id}</code> represents the ID of the tenant the client wants to retrieve telemetry data for.</li>
+</ol>
+
+<p>Hono supports both <em>AT MOST ONCE</em> as well as <em>AT LEAST ONCE</em> delivery of telemetry messages. However, clients SHOULD use <em>AT LEAST ONCE</em> delivery in order to support end-to-end flow control and therefore SHOULD set the <em>snd-settle-mode</em> field to <code>unsettled</code> and the <em>rcv-settle-mode</em> field to <code>first</code> in their <em>attach</em> frame during link establishment.</p>
+
+<p>A client MAY indicate to Hono during link establishment that it wants to distribute the telemetry messages received for a given tenant among multiple consumers by including a link property <code>subscription-name</code> whose value is shared by all other consumers of the tenant. Hono ensures that messages from a given device are delivered to the same consumer. Note that this also means that telemetry messages MAY not be evenly distributed among consumers, e.g. when only a single device sends data. <strong>NB</strong> This feature is not supported yet.</p>
+
+<p>In addition a client MAY include a boolean link property <code>ordering-required</code> with value <code>false</code> during link establishment in order to indicate to Hono that it does not require messages being delivered strictly in order per device but instead allows for messages being distributed evenly among the consumers. <strong>NB</strong> This feature is not supported yet.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in a <em>Business Application</em> receiving a telemetry data message from Hono. The delivery mode used is <em>AT LEAST ONCE</em>.</p>
+
+<figure>
+    <img src="../consumeTelemetry_Success.svg"/> <figcaption>
+            <h4>Receive Telemetry Data</h4>
+        </figcaption>
+</figure>
+
+
+<ol>
+<li><em>AMQP 1.0 Messaging Network</em> delivers telemetry message to <em>Business Application</em>.
+
+<ol>
+<li><em>Business Application</em> acknowledges reception of message.</li>
+</ol></li>
+</ol>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>The <em>Business Application</em> can only consume telemetry messages that have been uploaded to Hono <em>after</em> the <em>Business Application</em> has established the link with the <em>AMQP 1.0 Messaging Network</em>. This is because telemetry messages are not <em>durable</em>, i.e. they are not persisted in Hono in order to be forwarded at a later time.</div>
+</div>
+
+
+<p><strong>Message Format</strong></p>
+
+<p>The format of the messages containing the telemetry data is the same as for the <a href="#upload-telemetry-data">Upload Telemetry Data operation</a>.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/tenant-api/index.html b/docs/dev/api/tenant-api/index.html
new file mode 100644
index 0000000..01c4993
--- /dev/null
+++ b/docs/dev/api/tenant-api/index.html
@@ -0,0 +1,2736 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Tenant API Specification :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Tenant API Specification :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Tenant API Specification :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/api/tenant-api//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/api/tenant-api/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item active">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/api/tenant-api/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/api/tenant-api/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/Tenant-API.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/api/'>API</a> > Tenant API Specification
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#preconditions-for-invoking-the-tenant-api">Preconditions for invoking the Tenant API</a></li>
+<li><a href="#get-tenant-information">Get Tenant Information</a></li>
+<li><a href="#tenant-information-format">Tenant Information Format</a>
+<ul>
+<li><a href="#trusted-ca-format">Trusted CA Format</a></li>
+<li><a href="#adapter-configuration-format">Adapter Configuration Format</a></li>
+<li><a href="#resource-limits-configuration-format">Resource Limits Configuration Format</a></li>
+<li><a href="#data-volume-configuration-format">Data Volume Configuration Format</a></li>
+</ul></li>
+<li><a href="#delivery-states-used-by-the-tenant-api">Delivery States used by the Tenant API</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Tenant API Specification</h1>
+          
+
+        
+
+
+<p>The <em>Tenant API</em> is used by Hono&rsquo;s protocol adapters to retrieve information that affects all devices belonging to a particular tenant.
+A tenant is a logical entity, which groups together a set of devices. The information registered for a tenant is used for example to
+determine if devices belonging to the tenant are allowed to connect to a certain protocol adapter or if devices are required to authenticate.</p>
+
+<p>This document <em>describes</em> the Tenant API&rsquo;s operations and the payload data format used by them.
+Please refer to <a href="/hono/docs/dev/concepts/tenancy/">Multi Tenancy</a> for details regarding the way Hono supports multiple tenants.</p>
+
+<p>The Tenant API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.</p>
+
+<p><a name="preconditions"></a></p>
+
+<h2 id="preconditions-for-invoking-the-tenant-api">Preconditions for invoking the Tenant API</h2>
+
+<ol>
+<li>Client has established an AMQP connection with the Tenant service.</li>
+<li>Client has established an AMQP link in role <em>sender</em> on the connection using target address <code>tenant</code>. This link is used by the client to send request messages to the Tenant service.</li>
+<li>Client has established an AMQP link in role <em>receiver</em> on the connection using source address <code>tenant/${reply-to}</code> where <em>reply-to</em> may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Tenant service. This link&rsquo;s source address is also referred to as the <em>reply-to</em> address for the request messages.</li>
+</ol>
+
+<figure>
+    <img src="../tenant_ConnectToTenant.svg"
+         alt="A client establishes an AMQP connection and the links required to invoke operations of the Tenant service"/> <figcaption>
+            <h4>Client connecting to Tenant service</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="get-tenant-information">Get Tenant Information</h2>
+
+<p>Clients use this operation to <em>retrieve</em> information about a tenant.</p>
+
+<p><strong>Message Flow</strong></p>
+
+<p>The following sequence diagram illustrates the flow of messages involved in a <em>Client</em> retrieving tenant information.</p>
+
+<figure>
+    <img src="../tenant_GetTenantSuccess.svg"
+         alt="A client sends a request message for retrieving tenant information and receives a response containing the information"/> <figcaption>
+            <h4>Client retrieving tenant information</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>Request Message Format</strong></p>
+
+<p>The following table provides an overview of the properties a client needs to set on a message to get tenant information:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">MAY contain an ID used to correlate a response message to the original request. If set, it is used as the <em>correlation-id</em> property in the response, otherwise the value of the <em>message-id</em> property is used. Either this or the <em>message-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>message-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">MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the <em>correlation-id</em> property MUST be set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>reply-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 source address that the client wants to receive response messages from. This address MUST be the same as the source address used for establishing the client&rsquo;s receive link (see <a href="#preconditions">Preconditions</a>).</td>
+</tr>
+
+<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">MUST be set to <code>get</code>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The body of the request message MUST consist of a single <em>Data</em> section containing a UTF-8 encoded string representation of a single JSON object.</p>
+
+<p>The JSON object MUST contain <em>exactly one</em> of the following search criteria properties:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>subject-dn</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The subject DN of the trusted certificate authority&rsquo;s public key in the format defined by <a href="https://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>tenant-id</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The identifier of the tenant to get.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The following request payload may be used to look up the tenant with identifier <code>ACME Corporation</code>:</p>
+
+<pre><code class="language-json">{
+  &quot;tenant-id&quot;: &quot;ACME Corporation&quot;
+}
+</code></pre>
+
+<p>The following request payload may be used to look up the tenant for which a trusted certificate authority with subject DN <code>O=ACME Corporation, CN=devices</code> has been configured:</p>
+
+<pre><code class="language-json">{
+  &quot;subject-dn&quot;: &quot;CN=devices,O=ACME Corporation&quot;
+}
+</code></pre>
+
+<p><strong>Response Message Format</strong></p>
+
+<p>The following table provides an overview of the properties contained in a response message to a <em>get tenant information</em> request:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Location</th>
+<th align="left">AMQP Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<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>message-id</em></td>
+<td align="left">Contains the <em>message-id</em> (or the <em>correlation-id</em>, if specified) of the request message that this message is the response to.</td>
+</tr>
+
+<tr>
+<td align="left"><em>content-type</em></td>
+<td align="center">no</td>
+<td align="left"><em>properties</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">MUST be set to <code>application/json</code> if the invocation of the operation was successful and the body of the response message contains payload as described below.</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>int</em></td>
+<td align="left">Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined for each particular operation.</td>
+</tr>
+
+<tr>
+<td align="left"><em>cache_control</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">Contains an <a href="https://tools.ietf.org/html/rfc2616#section-14.9">RFC 2616</a> compliant <em>cache directive</em>. The directive contained in the property MUST be obeyed by clients that are caching responses.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Code</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>200</em></td>
+<td align="left">OK, The response message body contains the requested tenant information.</td>
+</tr>
+
+<tr>
+<td align="left"><em>400</em></td>
+<td align="left">Bad Request, the request message did not contain all mandatory properties.</td>
+</tr>
+
+<tr>
+<td align="left"><em>403</em></td>
+<td align="left">Forbidden, the client is not authorized to retrieve information for the given tenant.</td>
+</tr>
+
+<tr>
+<td align="left"><em>404</em></td>
+<td align="left">Not Found, there is no tenant matching the given search criteria.</td>
+</tr>
+</tbody>
+</table>
+
+<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred. In this case, the response message&rsquo;s <em>content-type</em> property SHOULD be set accordingly.</p>
+
+<p>Otherwise the response message contains the information for the requested tenant as described in the following sections.</p>
+
+<p><a name="payload-format"></a></p>
+
+<h2 id="tenant-information-format">Tenant Information Format</h2>
+
+<p>Tenant information is carried in a single <em>Data</em> section of the response message as a UTF-8 encoded string representation of a single JSON object.
+It is an error to include payload that is not of this type.</p>
+
+<p>The table below provides an overview of the standard members defined for the JSON response object:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>adapters</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>array</em></td>
+<td align="left">A list of configuration options valid for certain adapters only. The format of a configuration option is described here <a href="#adapter-configuration-format">Adapter Configuration Format</a>. <strong>NB</strong> If the element is provided then the list MUST NOT be empty. <strong>NB</strong> Only a single entry per <em>type</em> is allowed. If multiple entries for the same <em>type</em> are present it is handled as an error. <strong>NB</strong> If the element is omitted then all adapters are <em>enabled</em> in their default configuration.</td>
+</tr>
+
+<tr>
+<td align="left"><em>defaults</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>object</em></td>
+<td align="left">Arbitrary <em>default</em> properties for devices belonging to the tenant. The properties can be used by protocol adapters to augment downstream messages with missing information, e.g. setting a default content type or time-to-live.</td>
+</tr>
+
+<tr>
+<td align="left"><em>enabled</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>boolean</em></td>
+<td align="left">If set to <code>false</code> the tenant is currently disabled. Protocol adapters MUST NOT allow devices of a disabled tenant to connect and MUST NOT accept data published by such devices.</td>
+</tr>
+
+<tr>
+<td align="left"><em>minimum-message-size</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>number</em></td>
+<td align="left">The minimum message size in bytes. If it is set then the payload size of the telemetry, event and command messages are calculated in accordance with the configured value and then reported to the metrics. See <a href="/hono/docs/dev/api/tenant-api/#minimum-message-size">Metrics</a> for more details.</td>
+</tr>
+
+<tr>
+<td align="left"><em>resource-limits</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>object</em></td>
+<td align="left">Any resource limits that should be enforced for the tenant, e.g. the maximum number of concurrent connections and the maximum data volume for a given period. Refer to <a href="#resource-limits-configuration-format">Resource Limits Configuration Format</a> for details.</td>
+</tr>
+
+<tr>
+<td align="left"><em>tenant-id</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left">The ID of the tenant.</td>
+</tr>
+
+<tr>
+<td align="left"><em>trusted-ca</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>object</em></td>
+<td align="left">The trusted certificate authority to use for validating certificates presented by devices of the tenant for authentication purposes. See <a href="#trusted-ca-format">Trusted Certificate Authority Format</a> for a definition of the content model of the object.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The JSON object MAY contain an arbitrary number of additional members with arbitrary names which can be of a scalar or a complex type.
+This allows for future <em>well-known</em> additions and also allows to add further information which might be relevant to a <em>custom</em> adapter only.</p>
+
+<p><strong>Examples</strong></p>
+
+<p>The JSON structure below contains example information for tenant <code>TEST_TENANT</code>. Note that the structure contains some custom properties at both the root level (<em>customer</em>) as well as the adapter configuration level (<em>deployment</em>) and also defines a default TTL for downstream messages.</p>
+
+<pre><code class="language-json">{
+  &quot;tenant-id&quot; : &quot;TEST_TENANT&quot;,
+  &quot;defaults&quot;: {
+    &quot;ttl&quot;: 30
+  },
+  &quot;enabled&quot; : true,
+  &quot;customer&quot;: &quot;ACME Inc.&quot;,
+  &quot;resource-limits&quot;: {
+    &quot;max-connections&quot;: 100000,
+    &quot;data-volume&quot;: {
+      &quot;max-bytes&quot;: 2147483648,
+      &quot;period-in-days&quot;: 30,
+      &quot;effective-since&quot;: &quot;2019-04-27&quot;
+    }
+  },
+  &quot;adapters&quot; : [
+    {
+      &quot;type&quot; : &quot;hono-mqtt&quot;,
+      &quot;enabled&quot; : true,
+      &quot;device-authentication-required&quot; : true
+    }, {
+      &quot;type&quot; : &quot;hono-http&quot;,
+      &quot;enabled&quot; : true,
+      &quot;device-authentication-required&quot; : true,
+      &quot;deployment&quot;: {
+        &quot;maxInstances&quot;: 4
+      }
+    }
+  ]
+}
+</code></pre>
+
+<h3 id="trusted-ca-format">Trusted CA Format</h3>
+
+<p>The table below provides an overview of the members defined for the <em>trusted-ca</em> JSON object:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">Type</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>subject-dn</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The subject DN of the trusted root certificate in the format defined by <a href="https://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.</td>
+</tr>
+
+<tr>
+<td align="left"><em>cert</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The Base64 encoded binary DER encoding of the trusted root X.509 certificate.</td>
+</tr>
+
+<tr>
+<td align="left"><em>public-key</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"></td>
+<td align="left">The Base64 encoded binary DER encoding of the trusted root certificate&rsquo;s public key.</td>
+</tr>
+
+<tr>
+<td align="left"><em>algorithm</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>RSA</code></td>
+<td align="left">The name of the public key algorithm. Supported values are <code>RSA</code> and <code>EC</code>. This property is ignored if the <em>cert</em> property is used to store a certificate.</td>
+</tr>
+</tbody>
+</table>
+
+<ul>
+<li>The <em>subject-dn</em> MUST be unique among all registered tenants.</li>
+<li>Either the <em>cert</em> or the <em>public-key</em> MUST be set.</li>
+</ul>
+
+<h3 id="adapter-configuration-format">Adapter Configuration Format</h3>
+
+<p>The table below contains the properties which are used to configure a <em>Hono protocol adapter</em>:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>type</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>-</code></td>
+<td align="left">The type of the adapter which this configuration belongs to.</td>
+</tr>
+
+<tr>
+<td align="left"><em>enabled</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>boolean</em></td>
+<td align="left"><code>false</code></td>
+<td align="left">If set to false the tenant is not allowed to receive / send data utilizing the given adapter.</td>
+</tr>
+
+<tr>
+<td align="left"><em>device-authentication-required</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>boolean</em></td>
+<td align="left"><code>true</code></td>
+<td align="left">If set to false, devices are not required to authenticate with the adapter before sending / receiving data.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Protocol adapters SHOULD use the configuration properties set for a tenant when interacting with devices of that tenant, e.g. in order to make authorization decisions etc.</p>
+
+<p>The JSON object MAY contain an arbitrary number of additional members with arbitrary names of either scalar or complex type.
+This allows for future <em>well-known</em> additions and also allows to add further information which might be relevant to a <em>custom</em> adapter only.</p>
+
+<h3 id="resource-limits-configuration-format">Resource Limits Configuration Format</h3>
+
+<p>The table below contains the properties which are used to configure a tenant&rsquo;s resource limits:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>max-connections</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>number</em></td>
+<td align="left"><code>-1</code></td>
+<td align="left">The maximum number of concurrent connections allowed from devices of this tenant. The default value <code>-1</code> indicates that no limit is set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>data-volume</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>object</em></td>
+<td align="left"><code>-</code></td>
+<td align="left">The maximum data volume allowed for the given tenant. Refer to  <a href="#data-volume-configuration-format">Data Volume Configuration Format</a> for details.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Protocol adapters SHOULD use the <em>max-connections</em> property to determine if a device&rsquo;s connection request should be accepted or rejected.</p>
+
+<p>The JSON object MAY contain an arbitrary number of additional members with arbitrary names of either scalar or complex type.
+This allows for future <em>well-known</em> additions and also allows to add further information which might be relevant to a <em>custom</em> adapter only.</p>
+
+<h3 id="data-volume-configuration-format">Data Volume Configuration Format</h3>
+
+<p>The table below contains the properties which are used to configure a tenant&rsquo;s data volume limit:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Name</th>
+<th align="center">Mandatory</th>
+<th align="left">JSON Type</th>
+<th align="left">Default Value</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>max-bytes</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>number</em></td>
+<td align="left"><code>-1</code></td>
+<td align="left">The maximum number of bytes allowed for the tenant for each accounting period. MUST be an integer. A negative value indicates that no limit is set.</td>
+</tr>
+
+<tr>
+<td align="left"><em>period-in-days</em></td>
+<td align="center"><em>no</em></td>
+<td align="left"><em>number</em></td>
+<td align="left"><code>30</code></td>
+<td align="left">The length of an accounting period, i.e. the number of days over which the data usage is to be limited. MUST be a positive integer.</td>
+</tr>
+
+<tr>
+<td align="left"><em>effective-since</em></td>
+<td align="center"><em>yes</em></td>
+<td align="left"><em>string</em></td>
+<td align="left"><code>-</code></td>
+<td align="left">The point in time at which the current settings became effective, i.e. the start of the first accounting period based on these settings. The value MUST be an <a href="https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations">ISO 8601 compliant <em>combined date and time representation in extended format</em></a>.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Protocol adapters SHOULD use this information to determine if a message originating from or destined to a device should be accepted for processing.</p>
+
+<h2 id="delivery-states-used-by-the-tenant-api">Delivery States used by the Tenant API</h2>
+
+<p>A Tenant service implementation uses the following AMQP message delivery states when receiving request messages from clients:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Delivery State</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>ACCEPTED</em></td>
+<td align="left">Indicates that the request message has been received and accepted for processing.</td>
+</tr>
+
+<tr>
+<td align="left"><em>REJECTED</em></td>
+<td align="left">Indicates that the request message has been received but cannot be processed. The disposition frame&rsquo;s <em>error</em> field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties and payload in this case.</td>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/api/tenant_ConnectToTenant.svg b/docs/dev/api/tenant_ConnectToTenant.svg
new file mode 100644
index 0000000..fc6d204
--- /dev/null
+++ b/docs/dev/api/tenant_ConnectToTenant.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="327.6px" preserveAspectRatio="none" style="width:469px;height:327px;" version="1.1" viewBox="0 0 469 327" width="469.2px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cquhxl7jrac4" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1cquhxl7jrac4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f1cquhxl7jrac4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="153.2344"/><rect fill="#FFFFFF" filter="url(#f1cquhxl7jrac4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="223.1531"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="279.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="387.6" x2="387.6" y1="45.9563" y2="279.7125"/><rect fill="#FEFECE" filter="url(#f1cquhxl7jrac4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#f1cquhxl7jrac4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="302.5066">Client</text><rect fill="#FEFECE" filter="url(#f1cquhxl7jrac4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="140.4" x="315.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="123.6" x="324" y="27.5941">Tenant Service</text><rect fill="#FEFECE" filter="url(#f1cquhxl7jrac4)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="140.4" x="315.6" y="278.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="123.6" x="324" y="302.5066">Tenant Service</text><rect fill="#FFFFFF" filter="url(#f1cquhxl7jrac4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f1cquhxl7jrac4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="153.2344"/><rect fill="#FFFFFF" filter="url(#f1cquhxl7jrac4)" height="34.9594" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="382.2" y="223.1531"/><polygon fill="#A80036" points="367.8,78.5156,379.8,83.3156,367.8,88.1156,372.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="375" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="52.2" y="77.2365">1.1 open</text><polygon fill="#A80036" points="57,113.475,45,118.275,57,123.075,52.2,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="387" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="64.2" y="112.1959">1.2 open</text><polygon fill="#A80036" points="367.8,148.4344,379.8,153.2344,367.8,158.0344,372.6,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="375" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="214.8" x="52.2" y="147.1553">2.1 attach(sender, "tenant")</text><polygon fill="#A80036" points="57,183.3937,45,188.1938,57,192.9938,52.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="387" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="223.2" x="64.2" y="182.1146">2.2 attach(receiver, "tenant")</text><polygon fill="#A80036" points="367.8,218.3531,379.8,223.1531,367.8,227.9531,372.6,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="375" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="315.6" x="52.2" y="217.074">3.1 attach(receiver, "tenant/${reply-to}")</text><polygon fill="#A80036" points="57,253.3125,45,258.1125,57,262.9125,52.2,258.1125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="387" y1="258.1125" y2="258.1125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="307.2" x="64.2" y="252.0334">3.2 attach(sender, "tenant/${reply-to}")</text><!--
+@startuml
+scale 1.2
+
+Client -> "Tenant Service"++: 1.1 open
+"Tenant Service"-> Client- -: 1.2 open
+
+Client -> "Tenant Service"++: 2.1 attach(sender, "tenant")
+"Tenant Service" -> Client- -: 2.2 attach(receiver, "tenant")
+
+Client -> "Tenant Service"++: 3.1 attach(receiver, "tenant/${reply-to}")
+"Tenant Service" -> Client- -: 3.2 attach(sender, "tenant/${reply-to}")
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/api/tenant_GetTenantSuccess.svg b/docs/dev/api/tenant_GetTenantSuccess.svg
new file mode 100644
index 0000000..e6a10d4
--- /dev/null
+++ b/docs/dev/api/tenant_GetTenantSuccess.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="234px" preserveAspectRatio="none" style="width:717px;height:234px;" version="1.1" viewBox="0 0 717 234" width="717.6px" zoomAndPan="magnify"><defs><filter height="300%" id="f6egohjifnt9s" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f6egohjifnt9s)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="630.6" y="83.3156"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="43.2" x2="43.2" y1="45.9563" y2="186.8344"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="636" x2="636" y1="45.9563" y2="186.8344"/><rect fill="#FEFECE" filter="url(#f6egohjifnt9s)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="27.5941">Client</text><rect fill="#FEFECE" filter="url(#f6egohjifnt9s)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="63.6" x="9.6" y="185.6344"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="46.8" x="18" y="209.6285">Client</text><rect fill="#FEFECE" filter="url(#f6egohjifnt9s)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="140.4" x="564" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="123.6" x="572.4" y="27.5941">Tenant Service</text><rect fill="#FEFECE" filter="url(#f6egohjifnt9s)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="140.4" x="564" y="185.6344"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="123.6" x="572.4" y="209.6285">Tenant Service</text><rect fill="#FFFFFF" filter="url(#f6egohjifnt9s)" height="81.9188" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="630.6" y="83.3156"/><polygon fill="#A80036" points="616.2,78.5156,628.2,83.3156,616.2,88.1156,621,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="43.8" x2="623.4" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="339.6" x="52.2" y="77.2365">transfer(subject: "get", body: search criteria)</text><path d="M566.4,98.9156 L566.4,128.9156 L702,128.9156 L702,110.9156 L690,98.9156 L566.4,98.9156 " fill="#FBFB77" filter="url(#f6egohjifnt9s)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M690,98.9156 L690,110.9156 L702,110.9156 L690,98.9156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="110.4" x="573.6" y="119.3959">look up tenant</text><polygon fill="#A80036" points="57,160.4344,45,165.2344,57,170.0344,52.2,165.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="49.8" x2="635.4" y1="165.2344" y2="165.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="558" x="64.2" y="159.1553">transfer(status: "200", content-type: "application/json", body: tenant info)</text><!--
+@startuml
+scale 1.2
+
+Client -> "Tenant Service"++: transfer(subject: "get", body: search criteria)
+
+note over "Tenant Service"
+look up tenant
+end note
+
+"Tenant Service" -> Client- -: transfer(status: "200", content-type: "application/json", body: tenant info)
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/architecture/auth/auth/index.html b/docs/dev/architecture/auth/auth/index.html
new file mode 100644
index 0000000..7b938ca
--- /dev/null
+++ b/docs/dev/architecture/auth/auth/index.html
@@ -0,0 +1,2242 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Authentication/Authorization :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Authentication/Authorization :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Authentication/Authorization :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/architecture/auth/auth//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/architecture/auth/auth/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item active">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/architecture/auth/auth/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/architecture/auth/auth/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/architecture/auth/auth.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/architecture/'>Architecture</a> > Authentication/Authorization
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#requirements">Requirements</a></li>
+<li><a href="#how-it-works-today">How it works today</a>
+<ul>
+<li><a href="#device-auth">Device Auth</a></li>
+<li><a href="#system-component-auth">System Component Auth</a></li>
+<li><a href="#application-auth">Application Auth</a></li>
+<li><a href="#management-of-identities-and-authorities">Management of Identities and Authorities</a></li>
+</ul></li>
+<li><a href="#future-approach">Future Approach</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Authentication/Authorization</h1>
+          
+
+        
+
+
+<p>This page describes how authentication and authorization of devices, consumers (back end applications) and system components works in Hono.</p>
+
+<h2 id="requirements">Requirements</h2>
+
+<ol>
+<li>Devices are authenticated and authorized when they connect to a protocol adapter.</li>
+<li>Consumers are authenticated and authorized when they connect to a <em>Dispatch Router</em> instance.</li>
+<li>System components are authenticated and authorized when they connect to each other.</li>
+<li>Credentials and authorization rules can be managed centrally, i.e. credentials and rules do not need to be configured manually on each component.</li>
+</ol>
+
+<h2 id="how-it-works-today">How it works today</h2>
+
+<p>The following diagram provides an overview of the components involved in use cases requiring authentication and authorization.</p>
+
+<figure>
+    <img src="../Hono-Auth-Overview-Today.jpg"/> 
+</figure>
+
+
+<h3 id="device-auth">Device Auth</h3>
+
+<p>Both the HTTP adapter as well as the MQTT adapter require devices to authenticate during connection establishment by default. Both rely on the <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a> to help in verifying credentials provided by a device. Please refer to <a href="/hono/docs/dev/concepts/device-identity/">Device Authentication</a> for a general overview of Hono&rsquo;s approach to authenticating devices and to the <a href="/hono/docs/dev/user-guide/">protocol adapter user guides</a> for specifics regarding how devices can authenticate to the corresponding protocol adapters.</p>
+
+<h3 id="system-component-auth">System Component Auth</h3>
+
+<p>Client components opening an AMQP connection to a server component are authenticated using SASL PLAIN as specified in <a href="https://tools.ietf.org/html/rfc4422">RFC 4422</a>. The server component takes the authentication information provided by the client component and opens a connection to the <em>Auth Server</em>, using the credentials provided by the client in its SASL PLAIN exchange with the server component. On successful authentication the <em>Auth Server</em> issues a JSON Web Token (JWT) asserting the client&rsquo;s identity and its granted authorities to the server component. The server component then <em>attaches</em> this token to its AMQP connection with the client and from then on uses it to make authorization decisions regarding the client&rsquo;s requests. See <a href="/hono/docs/dev/api/authentication-api/">Authentication API</a> for details regarding the authentication process and the format of the tokens issued by the <em>Auth Server</em>.</p>
+
+<p>Based on the components shown above, the following sequence diagram shows how the <em>MQTT Adapter</em> connects to the <em>Device Registry</em> and gets authenticated transparently using the <em>Auth Server</em>.</p>
+
+<figure>
+    <img src="../MQTT-Adapter-authentication-today.png" width="80%"/> 
+</figure>
+
+
+<p>Client components are authorized whenever they open a new AMQP link on an existing connection to the server. When a client tries to open a receiver link, the server checks if the client is authorized to <em>read</em> from the source address the client has specified in its AMQP <em>attach</em> frame. Analogously, when a client tries to open a sender link, the server checks if the client is authorized to <em>write</em> to the target address from the client&rsquo;s <em>attach</em> frame.</p>
+
+<p>Service implementations may additionally authorize individual (request) messages received from the client, e.g. based on the message&rsquo;s <em>subject</em> property which is used by Hono&rsquo;s AMQP 1.0 based APIs to indicate the operation to invoke. In such a case the server checks if the client is authorized to <em>execute</em> the operation indicated by the message <em>subject</em> on the link&rsquo;s target address.</p>
+
+<h3 id="application-auth">Application Auth</h3>
+
+<p><em>Business Applications</em> connect to the AMQP 1.0 Messaging Network in order to consume telemetry data and events and send commands to devices. It is therefore the responsibility of the AMQP Network to properly authenticate and authorize the application.</p>
+
+<p>The Apache Qpid Dispatch Router which is used in Hono&rsquo;s example deployment can be configured to authenticate consumers using arbitrary SASL mechanisms. Access to addresses for receiving messages can be restricted to certain identities. The Dispatch Router instance which is used in the example deployment is configured to delegate authentication of clients to the <em>Auth Server</em> by means of its <em>Auth Service Plugin</em> mechanism. This mechanism works in a very similar way as described above for the authentication of system components. The main difference is that the clients&rsquo; authorities are not transferred by means of a JSON Web Token but instead are carried in a property of the Auth Server&rsquo;s AMQP <em>open</em> frame.</p>
+
+<h3 id="management-of-identities-and-authorities">Management of Identities and Authorities</h3>
+
+<p>The identities and corresponding authorities that the <em>Auth Server</em> uses for verifying credentials and issuing tokens are defined in a configuration file (<code>services/auth/src/main/resources/permissions.json</code>) read in during start-up of the <em>Auth Server</em>. These authorities are used for authenticating and authorizing system components as well as <em>Business Applications</em>.</p>
+
+<p>Please refer to the <a href="http://qpid.apache.org/components/dispatch-router/index.html">Dispatch Router documentation</a> for details regarding configuration of <em>Dispatch Router</em> security.</p>
+
+<h2 id="future-approach">Future Approach</h2>
+
+<p>In the long run Hono will still use tokens for authenticating clients but will use a policy based approach for authorizing requests, i.e. authorization decisions will be made by a central <em>policy enforcement</em> component. Hono services will pass in the client&rsquo;s token, the resource being accessed and the intended action along with potentially other attributes to the policy enforcement component which will then make the authorization decision based on the configured rules (policy) and return the outcome to the component.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/architecture/component-view/component-view/index.html b/docs/dev/architecture/component-view/component-view/index.html
new file mode 100644
index 0000000..34b452a
--- /dev/null
+++ b/docs/dev/architecture/component-view/component-view/index.html
@@ -0,0 +1,2233 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Component View :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Component View :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Component View :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/architecture/component-view/component-view/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item active">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/architecture/component-view/component-view/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/architecture/component-view/component-view/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/architecture/component-view/Component-View.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/architecture/'>Architecture</a> > Component View
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#top-level">Top Level</a></li>
+<li><a href="#device-registry">Device Registry</a></li>
+<li><a href="#amqp-1-0-messaging-network">AMQP 1.0 Messaging Network</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Component View</h1>
+          
+
+        
+
+
+<p>This page describes the high level components constituting an Eclipse Hono&trade; instance and their relations to each other.</p>
+
+<h2 id="top-level">Top Level</h2>
+
+<p>The diagram below provides an overview of the top level <em>logical</em> components.</p>
+
+<figure>
+    <img src="../top-level.png"/> 
+</figure>
+
+
+<p>The <em>MQTT</em> and <em>HTTP Adapters</em> use the <em>Device Registry</em> to authenticate <em>Devices</em> connecting to the adapters and asserting their
+registration status. The adapters then forward the telemetry data and events received from the devices to the <em>AMQP 1.0 Messaging Network</em>
+for delivery to <em>Business Applications</em>. Business applications also use the messaging network to send commands to connected devices.</p>
+
+<p>The <em>Device Registry</em> uses the <em>Auth Server</em> to authenticate the protocol adapters during connection establishment.</p>
+
+<p>All interactions between the components are based on AMQP 1.0 message exchanges as defined by the</p>
+
+<ul>
+<li><a href="/hono/docs/dev/api/credentials-api/">Credentials API</a>,</li>
+<li><a href="/hono/docs/dev/api/tenant-api/">Tenant API</a>,</li>
+<li><a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a>,</li>
+<li><a href="/hono/docs/dev/api/command-and-control-api/">Command &amp; Control (C&amp;C) API</a>,</li>
+<li><a href="/hono/docs/dev/api/telemetry-api/">Telemetry API</a> and</li>
+<li><a href="/hono/docs/dev/api/event-api/">Event API</a>.</li>
+</ul>
+
+<h2 id="device-registry">Device Registry</h2>
+
+<p>The diagram below provides an overview of the <em>Device Registry</em> component&rsquo;s internal structure.</p>
+
+<figure>
+    <img src="../device-registry.png" width="100%"/> 
+</figure>
+
+
+<p>The <em>Device Registry</em> component implements the <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a>, <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> and <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a>. Clients opening a connection to <em>SimpleDeviceRegistryServer</em> are authenticated by means of an external service accessed via the <em>Auth</em> port. The <em>FileBasedCredentialsService</em>, <em>FileBasedTenantService</em> and <em>FileBasedRegistrationService</em> store all data in the local file system. The <em>Device Registry</em> is therefore not recommended to be used in production environments because the component cannot easily scale out horizontally. It is mainly intended to be used for demonstration purposes and PoCs. In real world scenarios, a more sophisticated implementation should be used that is designed to scale out, e.g. using a persistent store for keeping device registration information that can be shared by multiple instances.</p>
+
+<h2 id="amqp-1-0-messaging-network">AMQP 1.0 Messaging Network</h2>
+
+<p>The <em>AMQP 1.0 Messaging Network</em> is not <em>per se</em> a component being developed as part of Hono. Instead, Hono comes with a default implementation of the messaging network relying on artifacts provided by other open source projects. The default implementation currently consists of a single <a href="https://qpid.apache.org">Apache Qpid Dispatch Router</a> instance connected to a single <a href="https://activemq.apache.org/artemis">Apache Artemis</a> broker instance. Note that this setup is useful for development purposes but will probably not meet requirements regarding e.g. scalability of real world use cases.</p>
+
+<p>The diagram below provides an overview of the default implementation of the Messaging Network component used with Hono.</p>
+
+<figure>
+    <img src="../hono-messaging.png"/> 
+</figure>
+
+
+<p>Scaling out messaging infrastructure is a not a trivial task. Hono <strong>does not</strong> provide an out-of-the-box solution to this problem but instead integrates with the <a href="http://enmasse.io">EnMasse</a> project which aims at providing <em>Messaging as a Service</em> infrastructure.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/architecture/index.html b/docs/dev/architecture/index.html
new file mode 100644
index 0000000..580703e
--- /dev/null
+++ b/docs/dev/architecture/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Architecture :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Architecture :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Architecture :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/architecture//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/architecture/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/architecture/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/architecture/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/architecture/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > Architecture
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="architecture">Architecture</h1>
+
+<p>Get an overview over Hono&rsquo;s architecture.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/architecture/index.xml b/docs/dev/architecture/index.xml
new file mode 100644
index 0000000..7bfc813
--- /dev/null
+++ b/docs/dev/architecture/index.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Architecture on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/architecture/</link>
+    <description>Recent content in Architecture on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/architecture/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Component View</title>
+      <link>https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/</guid>
+      <description>&lt;p&gt;This page describes the high level components constituting an Eclipse Hono&amp;trade; instance and their relations to each other.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Authentication/Authorization</title>
+      <link>https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/</guid>
+      <description>&lt;p&gt;This page describes how authentication and authorization of devices, consumers (back end applications) and system components works in Hono.&lt;/p&gt;</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/categories/index.html b/docs/dev/categories/index.html
new file mode 100644
index 0000000..eb1ed7b
--- /dev/null
+++ b/docs/dev/categories/index.html
@@ -0,0 +1,2144 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Categories :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Categories :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Categories :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/categories//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/categories/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/categories/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/categories/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            Categories
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Categories</h1>
+          
+
+        
+
+
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/categories/index.xml b/docs/dev/categories/index.xml
new file mode 100644
index 0000000..e51c8aa
--- /dev/null
+++ b/docs/dev/categories/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Categories on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/categories/</link>
+    <description>Recent content in Categories on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/categories/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/concepts/Tenants_Devices_Credentials.odg b/docs/dev/concepts/Tenants_Devices_Credentials.odg
new file mode 100644
index 0000000..af32a4c
--- /dev/null
+++ b/docs/dev/concepts/Tenants_Devices_Credentials.odg
Binary files differ
diff --git a/docs/dev/concepts/Tenants_Devices_Credentials.png b/docs/dev/concepts/Tenants_Devices_Credentials.png
new file mode 100644
index 0000000..35e01da
--- /dev/null
+++ b/docs/dev/concepts/Tenants_Devices_Credentials.png
Binary files differ
diff --git a/docs/dev/concepts/command-and-control/index.html b/docs/dev/concepts/command-and-control/index.html
new file mode 100644
index 0000000..5c56092
--- /dev/null
+++ b/docs/dev/concepts/command-and-control/index.html
@@ -0,0 +1,2403 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Command & Control :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Command &amp; Control :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Command &amp; Control :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts/command-and-control//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/command-and-control/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item active">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/command-and-control/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/command-and-control/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/command-and-control.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/concepts/'>Concepts</a> > Command & Control
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#command-control-over-http-adapter">Command &amp; Control over HTTP Adapter</a></li>
+<li><a href="#command-control-over-mqtt-adapter">Command &amp; Control over MQTT Adapter</a></li>
+<li><a href="#command-control-over-amqp-adapter">Command &amp; Control over AMQP Adapter</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Command &amp; Control</h1>
+          
+
+        
+
+
+<p><em>Business applications</em> can send commands to devices following the <a href="/hono/docs/dev/api/command-and-control-api/">Command &amp; Control API</a>. This concept page describes how this API is used by applications to send commands to devices that connected to one of Hono&rsquo;s protocol adapters.</p>
+
+<p>Commands can be sent following a <em>request/response</em> or a <em>one-way</em> pattern. For <em>Request/Response</em> commands, there is always a response expected from the device.</p>
+
+<h2 id="command-control-over-http-adapter">Command &amp; Control over HTTP Adapter</h2>
+
+<p>The following sequence diagrams give an overview of a device connecting via HTTP, which gets a command from the business application in the response to a downstream message - being an arbitrary event in this example. The application and the adapter connect to the AMQP Network, which forwards the transfer - for clarity this is not shown in the diagram.</p>
+
+<p><strong>(Request/Response) command over HTTP:</strong></p>
+
+<figure>
+    <img src="../command_control_concept_http.svg"/> <figcaption>
+            <h4>Command &amp; Control over HTTP Adapter</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>One-way command over HTTP:</strong></p>
+
+<figure>
+    <img src="../command_control_concept_one_way_http.svg"/> <figcaption>
+            <h4>One-way Command &amp; Control over HTTP Adapter</h4>
+        </figcaption>
+</figure>
+
+
+<p>With the <em>hono-ttd</em> request parameter in (1) the device indicates it will stay connected for max. 30 seconds. In the shown example this means that it can handle the response to the HTTP request for up to 30 seconds before considering the request being expired.</p>
+
+<p>Internally the application is notified that there is a time interval of 30 seconds to send a command (see <a href="/hono/docs/dev/concepts/device-notifications/">Device notifications</a> for details).  This notification will be consumed by the application (2) and it now tries to send a command (3) to the device at the given address <code>command/TENANT/4711</code>.
+If the device is not connected or the time interval is expired already, there is no such link open and the application would get no credits so send the command.</p>
+
+<p>The HTTP Adapter gets the command and writes it in the response of the devices <code>send event</code> (4), if the request was successful (status 2xx). The HTTP Adapter sets the following response headers and optionally a payload.</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Response Header</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><em>hono-cmd</em></td>
+<td align="left">The name of the command to execute. Any input data required will be contained in the response body.</td>
+</tr>
+
+<tr>
+<td align="left"><em>hono-cmd-req-id</em></td>
+<td align="left">Only set for <strong>Request/Response commands</strong> : The unique identifier of the command. This identifier is used to correlate the device&rsquo;s response to the command with the request.</td>
+</tr>
+</tbody>
+</table>
+
+<p>The <em>hono-cmd</em> is the command that should be executed by the device. Typically this command needs to be known by the device and the payload may contain additional details of the command.</p>
+
+<p><strong>For Request/Response commands</strong>:</p>
+
+<p>The <em>hono-cmd-req-id</em> response header is needed for the command response to correlate it. It has to be sent back from the device to the adapter in a following operation (5).</p>
+
+<p>The device needs to respond to the command (5), to inform the business application about the outcome of executing the command. For this purpose
+specific URIs are defined in <a href="/hono/docs/dev/user-guide/http-adapter/#sending-a-response-to-a-previously-received-command">HTTP Adapter</a>.</p>
+
+<p>The URI contains the <em>hono-cmd-req-id</em> and a status code indicating the outcome of executing the command.</p>
+
+<p>The HTTP Adapter will send the payload of the response back to the Business Application (6) by using the receiver link
+that was opened by the application. If the response reached the application, the response request will be replied with
+<code>202 Accepted</code>.</p>
+
+<h2 id="command-control-over-mqtt-adapter">Command &amp; Control over MQTT Adapter</h2>
+
+<p>When the device is connected to the MQTT Adapter it receives <em>Request/Response</em> commands on the topic:</p>
+
+<ul>
+<li><code>command/[${tenant}]/[${device-id}]/req/${req-id}/${command}</code></li>
+</ul>
+
+<p>and <em>one-way</em> commands on the topic:</p>
+
+<ul>
+<li><code>command/[${tenant}]/[${device-id}]/req//${command}</code></li>
+</ul>
+
+<p>Authenticated devices typically subscribe to</p>
+
+<ul>
+<li><code>command/+/+/req/#</code></li>
+</ul>
+
+<p>while unauthenticated devices have to fully specify their <code>${tenant}</code> and <code>${device-id}</code> during the subscription.</p>
+
+<p>The response of the command will be sent by the device to</p>
+
+<ul>
+<li><code>command/[${tenant}]/[${device-id}]/res/${req-id}/${status}</code></li>
+</ul>
+
+<p>If the device is authenticated, the <code>${tenant}</code> and <code>${device-id}</code> are left empty (resulting in 3 subsequent <code>/</code>s).</p>
+
+<p>The following diagrams show the message flow for commands over the MQTT adapter:</p>
+
+<p><strong>Request/Response commands</strong> :</p>
+
+<figure>
+    <img src="../command_control_concept_mqtt.svg"/> <figcaption>
+            <h4>Request/Response Command over MQTT Adapter</h4>
+        </figcaption>
+</figure>
+
+
+<p><strong>one-way commands</strong> :</p>
+
+<figure>
+    <img src="../command_control_concept_one_way_mqtt.svg"/> <figcaption>
+            <h4>One-way Command over MQTT Adapter</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="command-control-over-amqp-adapter">Command &amp; Control over AMQP Adapter</h2>
+
+<p>When a device connected to the AMQP adapter wants to receive commands from the adapter, it opens a receiver link specifying the following source address:</p>
+
+<ul>
+<li><code>command</code> for authenticated devices</li>
+<li><code>command/${tenant}/${device-id}</code> for unauthenticated devices</li>
+</ul>
+
+<p>Once the receiver link is opened, the AMQP adapter sends command messages to devices through the link. The <em>subject</em> property of the request message contains the actual command to be executed on the device.</p>
+
+<p>If the command request is a <em>one-way command</em>, then the device need not publish a command response message. However, if the application expects a response, then devices should publish a response back to the application. If an anonymous sender link is already opened by the device (e.g for publishing telemetry or events), then the device can reuse that link to publish the command response message. Otherwise, the device should publish the response by opening an anonymous sender link. The device should set the message address, status and correlation-id properties of the response accordingly. Consult the table below for a list of properties that a device must set on a command response message.</p>
+
+<p><strong>Command Request Message Properties</strong></p>
+
+<p>The following properties are set by the AMQP adapter on a command message sent to devices.</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>
+</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 on a device.</td>
+</tr>
+
+<tr>
+<td align="left"><em>reply-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">Contains the address to which the command response should be published to. This value is empty for one-way commands.</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">Contains the identifier used to correlate the response with the command request. If the command sent by the application contains a correlation-id, then that value is used as the correlation-id of the command request sent to the device. Otherwise, the value of the message-id property is used instead.</td>
+</tr>
+</tbody>
+</table>
+
+<p><strong>Command Response Message Properties</strong></p>
+
+<p>If the application expects a response (i.e the <em>reply-to</em> property is set), then the device should set the following properties 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>
+</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 address to which the command response should be published to, which is the value of the reply-to 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 identifier used to correlate the response with the original request, which is the value of the correlation-id of the original request.</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>string</em></td>
+<td align="left">The status code indicating the outcome of processing the command by the device. MUST be set by the device after executing the command.</td>
+</tr>
+</tbody>
+</table>
+
+<figure>
+    <img src="../command_control_concept_amqp.svg"/> <figcaption>
+            <h4>Command &amp; Control over AMQP Adapter</h4>
+        </figcaption>
+</figure>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/concepts/command_control_concept_amqp.svg b/docs/dev/concepts/command_control_concept_amqp.svg
new file mode 100644
index 0000000..0fb1ce7
--- /dev/null
+++ b/docs/dev/concepts/command_control_concept_amqp.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="663.6px" preserveAspectRatio="none" style="width:1086px;height:663px;" version="1.1" viewBox="0 0 1086 663" width="1086px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dgeg840p9dw" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1dgeg840p9dw)" height="376.3125" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1015.8" y="218.3531"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="148.8" x2="148.8" y1="45.9563" y2="616.2656"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="582" x2="582" y1="45.9563" y2="616.2656"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1021.2" x2="1021.2" y1="45.9563" y2="616.2656"/><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="615.0656"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="639.0598">Device</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="512.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="520.8" y="27.5941">AMQP Adapter</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="512.4" y="615.0656"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="520.8" y="639.0598">AMQP Adapter</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="966" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="974.4" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#f1dgeg840p9dw)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="966" y="615.0656"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="974.4" y="639.0598">Application</text><rect fill="#FFFFFF" filter="url(#f1dgeg840p9dw)" height="376.3125" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1015.8" y="218.3531"/><path d="M9.6,63.9563 L9.6,111.9563 L285.6,111.9563 L285.6,75.9563 L273.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#f1dgeg840p9dw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M273.6,63.9563 L273.6,75.9563 L285.6,75.9563 L273.6,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="217.2" x="16.8" y="84.4365">The device is connected and</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="250.8" x="16.8" y="102.5959">authenticated with TENANT/4711</text><polygon fill="#A80036" points="568.2,143.6344,580.2,148.4344,568.2,153.2344,573,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="575.4" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="253.2" x="157.8" y="142.3553">1. attach("receiver", "command")</text><polygon fill="#A80036" points="162.6,178.5938,150.6,183.3937,162.6,188.1938,157.8,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="581.4" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="244.8" x="169.8" y="177.3146">2. attach("sender", "command")</text><polygon fill="#A80036" points="1001.4,213.5531,1013.4,218.3531,1001.4,223.1531,1006.2,218.3531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="582.6" x2="1008.6" y1="218.3531" y2="218.3531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="334.8" x="591" y="212.274">3. transfer("event/TENANT","4711","ttd=-1")</text><polygon fill="#A80036" points="595.8,248.5125,583.8,253.3125,595.8,258.1125,591,253.3125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="588.6" x2="1014.6" y1="253.3125" y2="253.3125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="603" y="247.2334">4. transfer("command/TENANT/4711","light","ON")</text><path d="M386.4,268.9125 L386.4,334.9125 L774,334.9125 L774,280.9125 L762,268.9125 L386.4,268.9125 " fill="#FBFB77" filter="url(#f1dgeg840p9dw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M762,268.9125 L762,280.9125 L774,280.9125 L762,268.9125 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="291.6" x="393.6" y="289.3928">The command message is sent to the</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="303.6" x="393.6" y="307.5521">device with the 'reply-to' property set to</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="362.4" x="393.6" y="325.7115">"command_response/TENANT/4711/${replyId}"</text><polygon fill="#A80036" points="162.6,366.75,150.6,371.55,162.6,376.35,157.8,371.55" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="581.4" y1="371.55" y2="371.55"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="169.8" y="365.4709">5. transfer("command/TENANT/4711","light","ON")</text><path d="M28.8,387.15 L28.8,453.15 L265.2,453.15 L265.2,399.15 L253.2,387.15 L28.8,387.15 " fill="#FBFB77" filter="url(#f1dgeg840p9dw)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M253.2,387.15 L253.2,399.15 L265.2,399.15 L253.2,387.15 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="192" x="36" y="407.6303">In order to send back the</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="211.2" x="36" y="425.7896">response, the device opens</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="201.6" x="36" y="443.949">an anonymous sender link</text><polygon fill="#A80036" points="568.2,484.9875,580.2,489.7875,568.2,494.5875,573,489.7875" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="575.4" y1="489.7875" y2="489.7875"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="157.8" y="483.7084">6. attach("sender", null)</text><polygon fill="#A80036" points="162.6,519.9469,150.6,524.7469,162.6,529.5469,157.8,524.7469" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="581.4" y1="524.7469" y2="524.7469"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="189.6" x="169.8" y="518.6678">7. attach("receiver", null)</text><polygon fill="#A80036" points="568.2,554.9063,580.2,559.7063,568.2,564.5063,573,559.7063" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="575.4" y1="559.7063" y2="559.7063"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="404.4" x="157.8" y="553.6271">8. transfer("${reply-to}","status=200","lumen=100")</text><polygon fill="#A80036" points="1007.4,589.8656,1019.4,594.6656,1007.4,599.4656,1012.2,594.6656" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="582.6" x2="1014.6" y1="594.6656" y2="594.6656"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="404.4" x="591" y="588.5865">9. transfer("${reply-to}","status=200","lumen=100")</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "AMQP Adapter"
+participant Application
+
+note over Device
+The device is connected and
+authenticated with TENANT/4711
+end note
+Device -> "AMQP Adapter": 1. attach("receiver", "command")
+"AMQP Adapter" -> Device: 2. attach("sender", "command")
+"AMQP Adapter" -> Application: 3. transfer("event/TENANT","4711","ttd=-1")
+activate Application
+Application -> "AMQP Adapter": 4. transfer("command/TENANT/4711","light","ON")
+note over "AMQP Adapter"
+The command message is sent to the
+device with the 'reply-to' property set to
+"command_response/TENANT/4711/${replyId}"
+end note
+"AMQP Adapter" -> Device: 5. transfer("command/TENANT/4711","light","ON")
+note over Device
+In order to send back the
+response, the device opens
+an anonymous sender link
+end note
+Device -> "AMQP Adapter": 6. attach("sender", null)
+"AMQP Adapter" -> Device: 7. attach("receiver", null)
+Device -> "AMQP Adapter": 8. transfer("${reply-to}","status=200","lumen=100")
+"AMQP Adapter" -> Application: 9. transfer("${reply-to}","status=200","lumen=100")
+deactivate Application
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/command_control_concept_http.svg b/docs/dev/concepts/command_control_concept_http.svg
new file mode 100644
index 0000000..4584ba5
--- /dev/null
+++ b/docs/dev/concepts/command_control_concept_http.svg
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="478.8px" preserveAspectRatio="none" style="width:1600px;height:478px;" version="1.1" viewBox="0 0 1600 478" width="1600.8px" zoomAndPan="magnify"><defs><filter height="300%" id="fo1zb0wqg7eoa" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="305.0719"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="256.7156" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1530.6" y="118.275"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="169.2" x2="169.2" y1="45.9563" y2="431.55"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="828" x2="828" y1="45.9563" y2="431.55"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1536" x2="1536" y1="45.9563" y2="431.55"/><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="130.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="139.2" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="130.8" y="430.35"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="139.2" y="454.3441">Device</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="760.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="769.2" y="27.5941">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="760.8" y="430.35"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="769.2" y="454.3441">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1480.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1489.2" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#fo1zb0wqg7eoa)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1480.8" y="430.35"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1489.2" y="454.3441">Application</text><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="83.3156"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="822.6" y="305.0719"/><rect fill="#FFFFFF" filter="url(#fo1zb0wqg7eoa)" height="256.7156" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1530.6" y="118.275"/><polygon fill="#A80036" points="808.2,78.5156,820.2,83.3156,808.2,88.1156,813,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="169.8" x2="815.4" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="178.2" y="77.2365">1. HTTP request ("POST", "/event", "hono-ttd=30")</text><polygon fill="#A80036" points="1516.2,113.475,1528.2,118.275,1516.2,123.075,1521,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="834.6" x2="1523.4" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="338.4" x="843" y="112.1959">2. transfer("event/TENANT","4711","ttd=30")</text><polygon fill="#A80036" points="847.8,148.4344,835.8,153.2344,847.8,158.0344,843,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="840.6" x2="1529.4" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="855" y="147.1553">3. transfer("command/TENANT/4711","light","ON")</text><polygon fill="#A80036" points="183,183.3937,171,188.1938,183,192.9938,178.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="175.8" x2="821.4" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="624" x="190.2" y="182.1146">4. HTTP response (("200", "hono-cmd=light", "hono-cmd-req-id=${reqId}"), "ON")</text><polygon fill="#A80036" points="1516.2,218.3531,1528.2,223.1531,1516.2,227.9531,1521,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="828.6" x2="1523.4" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="837" y="217.074">disposition("accepted")</text><path d="M9.6,238.7531 L9.6,268.7531 L325.2,268.7531 L325.2,250.7531 L313.2,238.7531 L9.6,238.7531 " fill="#FBFB77" filter="url(#fo1zb0wqg7eoa)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M313.2,238.7531 L313.2,250.7531 L325.2,250.7531 L313.2,238.7531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="290.4" x="16.8" y="259.2334">Command response in next operation</text><polygon fill="#A80036" points="808.2,300.2719,820.2,305.0719,808.2,309.8719,813,305.0719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="169.8" x2="815.4" y1="305.0719" y2="305.0719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="536.4" x="178.2" y="298.9928">5. HTTP request("POST", "/command/res/${reqId}/200", "lumen=100")</text><polygon fill="#A80036" points="1516.2,335.2313,1528.2,340.0313,1516.2,344.8313,1521,340.0313" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="834.6" x2="1523.4" y1="340.0313" y2="340.0313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="667.2" x="843" y="333.9521">6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")</text><polygon fill="#A80036" points="847.8,370.1906,835.8,374.9906,847.8,379.7906,843,374.9906" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="840.6" x2="1535.4" y1="374.9906" y2="374.9906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="855" y="368.9115">disposition("accepted")</text><polygon fill="#A80036" points="183,405.15,171,409.95,183,414.75,178.2,409.95" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="175.8" x2="827.4" y1="409.95" y2="409.95"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="190.8" x="190.2" y="403.8709">7. HTTP response ("202")</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "HTTP Adapter"
+participant Application
+
+Device -> "HTTP Adapter": 1. HTTP request ("POST", "/event", "hono-ttd=30")
+activate "HTTP Adapter"
+"HTTP Adapter" -> Application: 2. transfer("event/TENANT","4711","ttd=30")
+activate Application
+Application -> "HTTP Adapter": 3. transfer("command/TENANT/4711","light","ON")
+"HTTP Adapter" -> Device: 4. HTTP response (("200", "hono-cmd=light", "hono-cmd-req-id=${reqId}"), "ON")
+"HTTP Adapter" -> Application: disposition("accepted")
+deactivate "HTTP Adapter"
+note over Device
+Command response in next operation
+end note
+Device -> "HTTP Adapter": 5. HTTP request("POST", "/command/res/${reqId}/200", "lumen=100")
+activate "HTTP Adapter"
+"HTTP Adapter" -> Application: 6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")
+Application -> "HTTP Adapter": disposition("accepted")
+deactivate Application
+"HTTP Adapter" -> Device: 7. HTTP response ("202")
+deactivate "HTTP Adapter"
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/command_control_concept_mqtt.svg b/docs/dev/concepts/command_control_concept_mqtt.svg
new file mode 100644
index 0000000..59c36e1
--- /dev/null
+++ b/docs/dev/concepts/command_control_concept_mqtt.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="427.2px" preserveAspectRatio="none" style="width:1316px;height:427px;" version="1.1" viewBox="0 0 1316 427" width="1316.4px" zoomAndPan="magnify"><defs><filter height="300%" id="f1o44wqsfudvsx" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1o44wqsfudvsx)" height="209.7563" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="538.2" y="148.4344"/><rect fill="#FFFFFF" filter="url(#f1o44wqsfudvsx)" height="174.7969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1246.2" y="183.3937"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="148.8" x2="148.8" y1="45.9563" y2="379.7906"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="543.6" x2="543.6" y1="45.9563" y2="379.7906"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1251.6" x2="1251.6" y1="45.9563" y2="379.7906"/><rect fill="#FEFECE" filter="url(#f1o44wqsfudvsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f1o44wqsfudvsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="378.5906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="402.5848">Device</text><rect fill="#FEFECE" filter="url(#f1o44wqsfudvsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="474" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="482.4" y="27.5941">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#f1o44wqsfudvsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="474" y="378.5906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="482.4" y="402.5848">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#f1o44wqsfudvsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1196.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1204.8" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#f1o44wqsfudvsx)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1196.4" y="378.5906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1204.8" y="402.5848">Application</text><rect fill="#FFFFFF" filter="url(#f1o44wqsfudvsx)" height="209.7563" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="538.2" y="148.4344"/><rect fill="#FFFFFF" filter="url(#f1o44wqsfudvsx)" height="174.7969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1246.2" y="183.3937"/><path d="M9.6,63.9563 L9.6,111.9563 L285.6,111.9563 L285.6,75.9563 L273.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#f1o44wqsfudvsx)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M273.6,63.9563 L273.6,75.9563 L285.6,75.9563 L273.6,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="217.2" x="16.8" y="84.4365">The device is connected and</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="250.8" x="16.8" y="102.5959">authenticated with TENANT/4711</text><polygon fill="#A80036" points="523.8,143.6344,535.8,148.4344,523.8,153.2344,528.6,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="531" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="354" x="157.8" y="142.3553">1. device subscribes to "command/+/+/req/#"</text><polygon fill="#A80036" points="1231.8,178.5938,1243.8,183.3937,1231.8,188.1938,1236.6,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="550.2" x2="1239" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="334.8" x="558.6" y="177.3146">2. transfer("event/TENANT","4711","ttd=-1")</text><polygon fill="#A80036" points="563.4,213.5531,551.4,218.3531,563.4,223.1531,558.6,218.3531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="556.2" x2="1245" y1="218.3531" y2="218.3531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="570.6" y="212.274">3. transfer("command/TENANT/4711","light","ON")</text><polygon fill="#A80036" points="162.6,248.5125,150.6,253.3125,162.6,258.1125,157.8,253.3125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="537" y1="253.3125" y2="253.3125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="298.8" x="169.8" y="247.2334">4. "command///req/${reqId}/light":"ON"</text><polygon fill="#A80036" points="1231.8,283.4719,1243.8,288.2719,1231.8,293.0719,1236.6,288.2719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="550.2" x2="1239" y1="288.2719" y2="288.2719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="558.6" y="282.1928">disposition("accepted")</text><polygon fill="#A80036" points="523.8,318.4313,535.8,323.2313,523.8,328.0313,528.6,323.2313" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="531" y1="323.2313" y2="323.2313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="360" x="157.8" y="317.1521">5. "command///res/${reqId}/200":"lumen=100"</text><polygon fill="#A80036" points="1237.8,353.3906,1249.8,358.1906,1237.8,362.9906,1242.6,358.1906" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="544.2" x2="1245" y1="358.1906" y2="358.1906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="667.2" x="552.6" y="352.1115">6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "MQTT Adapter"
+participant Application
+
+note over Device
+The device is connected and
+authenticated with TENANT/4711
+end note
+Device -> "MQTT Adapter": 1. device subscribes to "command/+/+/req/#"
+activate "MQTT Adapter"
+"MQTT Adapter" -> Application: 2. transfer("event/TENANT","4711","ttd=-1")
+activate Application
+Application -> "MQTT Adapter": 3. transfer("command/TENANT/4711","light","ON")
+"MQTT Adapter" -> Device: 4. "command///req/${reqId}/light":"ON"
+"MQTT Adapter" -> Application: disposition("accepted")
+Device -> "MQTT Adapter": 5. "command///res/${reqId}/200":"lumen=100"
+"MQTT Adapter" -> Application: 6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")
+deactivate "MQTT Adapter"
+deactivate Application
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/command_control_concept_one_way_http.svg b/docs/dev/concepts/command_control_concept_one_way_http.svg
new file mode 100644
index 0000000..89f36d9
--- /dev/null
+++ b/docs/dev/concepts/command_control_concept_one_way_http.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="339.6px" preserveAspectRatio="none" style="width:1089px;height:339px;" version="1.1" viewBox="0 0 1089 339" width="1089.6px" zoomAndPan="magnify"><defs><filter height="300%" id="f19vdhjwihf8vo" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f19vdhjwihf8vo)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="598.2" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f19vdhjwihf8vo)" height="162.6375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1019.4" y="118.275"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="175.2" x2="175.2" y1="45.9563" y2="291.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="603.6" x2="603.6" y1="45.9563" y2="291.7125"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1024.8" x2="1024.8" y1="45.9563" y2="291.7125"/><rect fill="#FEFECE" filter="url(#f19vdhjwihf8vo)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="136.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="145.2" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f19vdhjwihf8vo)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="136.8" y="290.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="145.2" y="314.5066">Device</text><rect fill="#FEFECE" filter="url(#f19vdhjwihf8vo)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="536.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="544.8" y="27.5941">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#f19vdhjwihf8vo)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="130.8" x="536.4" y="290.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="114" x="544.8" y="314.5066">HTTP Adapter</text><rect fill="#FEFECE" filter="url(#f19vdhjwihf8vo)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="969.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="978" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#f19vdhjwihf8vo)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="969.6" y="290.5125"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="978" y="314.5066">Application</text><rect fill="#FFFFFF" filter="url(#f19vdhjwihf8vo)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="598.2" y="83.3156"/><rect fill="#FFFFFF" filter="url(#f19vdhjwihf8vo)" height="162.6375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1019.4" y="118.275"/><polygon fill="#A80036" points="583.8,78.5156,595.8,83.3156,583.8,88.1156,588.6,83.3156" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="175.8" x2="591" y1="83.3156" y2="83.3156"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="184.2" y="77.2365">1. HTTP request ("POST", "/event", "hono-ttd=30")</text><polygon fill="#A80036" points="1005,113.475,1017,118.275,1005,123.075,1009.8,118.275" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="610.2" x2="1012.2" y1="118.275" y2="118.275"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="338.4" x="618.6" y="112.1959">2. transfer("event/TENANT","4711","ttd=30")</text><polygon fill="#A80036" points="623.4,148.4344,611.4,153.2344,623.4,158.0344,618.6,153.2344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="616.2" x2="1018.2" y1="153.2344" y2="153.2344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="630.6" y="147.1553">3. transfer("command/TENANT/4711","light","ON")</text><polygon fill="#A80036" points="189,183.3937,177,188.1938,189,192.9938,184.2,188.1938" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="181.8" x2="597" y1="188.1938" y2="188.1938"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="393.6" x="196.2" y="182.1146">4. HTTP response (("200", "hono-cmd=light"), "ON")</text><polygon fill="#A80036" points="1005,218.3531,1017,223.1531,1005,227.9531,1009.8,223.1531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="604.2" x2="1012.2" y1="223.1531" y2="223.1531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="612.6" y="217.074">disposition("accepted")</text><path d="M9.6,238.7531 L9.6,268.7531 L337.2,268.7531 L337.2,250.7531 L325.2,238.7531 L9.6,238.7531 " fill="#FBFB77" filter="url(#f19vdhjwihf8vo)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M325.2,238.7531 L325.2,250.7531 L337.2,250.7531 L325.2,238.7531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="302.4" x="16.8" y="259.2334">No response expected from the device.</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "HTTP Adapter"
+participant Application
+
+Device -> "HTTP Adapter": 1. HTTP request ("POST", "/event", "hono-ttd=30")
+activate "HTTP Adapter"
+"HTTP Adapter" -> Application: 2. transfer("event/TENANT","4711","ttd=30")
+activate Application
+Application -> "HTTP Adapter": 3. transfer("command/TENANT/4711","light","ON")
+"HTTP Adapter" -> Device: 4. HTTP response (("200", "hono-cmd=light"), "ON")
+"HTTP Adapter" -> Application: disposition("accepted")
+deactivate "HTTP Adapter"
+note over Device
+No response expected from the device.
+end note
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/command_control_concept_one_way_mqtt.svg b/docs/dev/concepts/command_control_concept_one_way_mqtt.svg
new file mode 100644
index 0000000..53cd10c
--- /dev/null
+++ b/docs/dev/concepts/command_control_concept_one_way_mqtt.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="357.6px" preserveAspectRatio="none" style="width:1017px;height:357px;" version="1.1" viewBox="0 0 1017 357" width="1017.6px" zoomAndPan="magnify"><defs><filter height="300%" id="fo2b0w3wx1stz" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fo2b0w3wx1stz)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="526.2" y="148.4344"/><rect fill="#FFFFFF" filter="url(#fo2b0w3wx1stz)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="947.4" y="183.3937"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="148.8" x2="148.8" y1="45.9563" y2="309.8719"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="531.6" x2="531.6" y1="45.9563" y2="309.8719"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="952.8" x2="952.8" y1="45.9563" y2="309.8719"/><rect fill="#FEFECE" filter="url(#fo2b0w3wx1stz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fo2b0w3wx1stz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="308.6719"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="332.666">Device</text><rect fill="#FEFECE" filter="url(#fo2b0w3wx1stz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="462" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="470.4" y="27.5941">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#fo2b0w3wx1stz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="462" y="308.6719"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="470.4" y="332.666">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#fo2b0w3wx1stz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="897.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="906" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#fo2b0w3wx1stz)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="897.6" y="308.6719"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="906" y="332.666">Application</text><rect fill="#FFFFFF" filter="url(#fo2b0w3wx1stz)" height="139.8375" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="526.2" y="148.4344"/><rect fill="#FFFFFF" filter="url(#fo2b0w3wx1stz)" height="104.8781" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="947.4" y="183.3937"/><path d="M9.6,63.9563 L9.6,111.9563 L285.6,111.9563 L285.6,75.9563 L273.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#fo2b0w3wx1stz)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M273.6,63.9563 L273.6,75.9563 L285.6,75.9563 L273.6,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="217.2" x="16.8" y="84.4365">The device is connected and</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="250.8" x="16.8" y="102.5959">authenticated with TENANT/4711</text><polygon fill="#A80036" points="511.8,143.6344,523.8,148.4344,511.8,153.2344,516.6,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="519" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="354" x="157.8" y="142.3553">1. device subscribes to "command/+/+/req/#"</text><polygon fill="#A80036" points="933,178.5938,945,183.3937,933,188.1938,937.8,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="538.2" x2="940.2" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="334.8" x="546.6" y="177.3146">2. transfer("event/TENANT","4711","ttd=-1")</text><polygon fill="#A80036" points="551.4,213.5531,539.4,218.3531,551.4,223.1531,546.6,218.3531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="544.2" x2="946.2" y1="218.3531" y2="218.3531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="558.6" y="212.274">3. transfer("command/TENANT/4711","light","ON")</text><polygon fill="#A80036" points="162.6,248.5125,150.6,253.3125,162.6,258.1125,157.8,253.3125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="525" y1="253.3125" y2="253.3125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="103.2" x="169.8" y="247.2334">4. "command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="30" x="273" y="247.2334">/req</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="79.2" x="303" y="247.2334">light":"ON"</text><polygon fill="#A80036" points="939,283.4719,951,288.2719,939,293.0719,943.8,288.2719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="532.2" x2="946.2" y1="288.2719" y2="288.2719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="540.6" y="282.1928">disposition("accepted")</text><!--
+@startuml
+scale 1.2
+
+participant Device
+participant "MQTT Adapter"
+participant Application
+
+note over Device
+The device is connected and
+authenticated with TENANT/4711
+end note
+Device -> "MQTT Adapter": 1. device subscribes to "command/+/+/req/#"
+activate "MQTT Adapter"
+"MQTT Adapter" -> Application: 2. transfer("event/TENANT","4711","ttd=-1")
+activate Application
+Application -> "MQTT Adapter": 3. transfer("command/TENANT/4711","light","ON")
+"MQTT Adapter" -> Device: 4. "command///req//light":"ON"
+"MQTT Adapter" -> Application: disposition("accepted")
+deactivate "MQTT Adapter"
+deactivate Application
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/connection-events/index.html b/docs/dev/concepts/connection-events/index.html
new file mode 100644
index 0000000..5b9daf9
--- /dev/null
+++ b/docs/dev/concepts/connection-events/index.html
@@ -0,0 +1,2201 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Connection Events :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Connection Events :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Connection Events :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts/connection-events//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/connection-events/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item active">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/connection-events/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/connection-events/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/connection-events.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/concepts/'>Concepts</a> > Connection Events
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Connection Events</h1>
+          
+
+        
+
+
+<p>Hono&rsquo;s protocol adapters can use <em>connection events</em> to indicate the connection
+status of a device. In particular, an adapter can notify downstream components
+about a newly established connection with a device or about a device having
+disconnected.
+<!-- more --></p>
+
+<p>The connection status of devices using stateful protocols like MQTT and AMQP can usually
+be determined quite easily because these protocols often require peers to explicitly open
+or close a connection and often also support a kind of heart beat which can be used to
+determine if a connection is still alive. However, for stateless protocols like HTTP
+or CoAP, there is no clear definition of what it actually means that a device is
+<em>connected</em>. It is obvious that a device is connected when it is sending an HTTP request.
+However, the adapter has no way of knowing if the device has gone to sleep after it has
+received the adapter&rsquo;s response to its request.</p>
+
+<p>That said, connection events indicating an established connection with a device can
+usually be taken as face value. However, connection events indicating the disconnection
+of a device may only represent the protocol adapters view of the device&rsquo;s connection
+status. For example, the HTTP adapter might consider a device <em>disconnected</em> because
+it hasn&rsquo;t received any requests from the device for some time. However, the device itself
+might as well be up and running (i.e. not sleeping) and simply have no data worth publishing.</p>
+
+<p>The mechanism of firing connection events is pluggable with the default implementation
+simply forwarding connection status information to the logging framework.
+Hono also comes with an alternative implementation which forwards connection status
+information by means of <a href="/hono/docs/dev/api/event-api/#connection-event">Connection Events</a>
+via the <em>Events</em> API.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/concepts/device-identity/index.html b/docs/dev/concepts/device-identity/index.html
new file mode 100644
index 0000000..19e1454
--- /dev/null
+++ b/docs/dev/concepts/device-identity/index.html
@@ -0,0 +1,2215 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Device Identity :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Device Identity :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Device Identity :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts/device-identity//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/device-identity/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item active">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/device-identity/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/device-identity/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/device-identity.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/concepts/'>Concepts</a> > Device Identity
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#tenant">Tenant</a></li>
+<li><a href="#device-registration">Device Registration</a></li>
+<li><a href="#device-authentication">Device Authentication</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Device Identity</h1>
+          
+
+        
+
+
+<p>This page describes how devices are represented and identified throughout Hono and its API&rsquo;s.</p>
+
+<p>The main purpose of Hono is to provide a uniform API for applications to interact with devices, regardless of the particular communication protocol the devices natively use. In order to do so, Hono uses a unique <em>logical</em> identifier to refer to each device individually.</p>
+
+<p>Hono does not make any assumptions about the format of a device identifier (or <em>device-id</em> for short). It basically is a string which is defined at the time a device is registered. Once registered, the device can be referred to by this identifier when using Hono&rsquo;s APIs until the device is unregistered.</p>
+
+<h2 id="tenant">Tenant</h2>
+
+<p>Hono supports the logical partitioning of devices into groups called <em>tenants</em>. Each tenant has a unique identifier, a string called the <em>tenant-id</em>, and can be used to provide a logical grouping of devices belonging e.g. to the same application scope or organizational unit. Each device can thus be uniquely identified by the tuple (<em>tenant-id</em>, <em>device-id</em>). This tuple is broadly used throughout Hono&rsquo;s APIs when addressing a particular device.</p>
+
+<h2 id="device-registration">Device Registration</h2>
+
+<p>Hono components use the <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> to access device registration information. The API defines the mandatory to implement <em>assert Registration</em> operation for verifying a device&rsquo;s registration status. In addition to that, it defines optional CRUD operations to register, update and remove device registration information. These operations are optional because Hono components do not require them during runtime. From a Hono perspective, it is not important how devices have been registered or how they are managed.</p>
+
+<p>In many real world scenarios there will already be a component in place which keeps track of devices and which supports the particular <em>provisioning process</em> being used to bring devices into life. In such cases it makes sense to simply implement the mandatory operation of Hono&rsquo;s Device Registration API as a <em>facade</em> on top of the existing component.</p>
+
+<p>For demonstration purposes, Hono comes with a <a href="/hono/docs/dev/admin-guide/device-registry-config/">simple default implementation</a> of the Device Registration API which keeps all data in memory only. This component implements all mandatory and optional operations but is not supposed to be used in production scenarios.</p>
+
+<h2 id="device-authentication">Device Authentication</h2>
+
+<p>Devices connect to protocol adapters in order to publish telemetry data or events. Downstream applications consuming this data often take particular actions based on the content of the messages. Such actions may include simply updating some statistics, e.g. tracking the average room temperature, but may also trigger more serious activities like shutting down a power plant. It is therefore important that applications can rely on the fact that the messages they process have in fact been produced by the device indicated by a message&rsquo;s source address.</p>
+
+<p>Hono relies on protocol adapters to establish a device&rsquo;s identity before it is allowed to publish telemetry data or send events. Conceptually, Hono distinguishes between two identities</p>
+
+<ol>
+<li>an identity associated with the authentication credentials (termed the <em>authentication identity</em> or <em>auth-id</em>), and</li>
+<li>an identity to act as (the <em>device identity</em> or <em>device-id</em>).</li>
+</ol>
+
+<p>A device therefore presents an <em>auth-id</em> as part of its credentials during the authentication process which is then resolved to a <em>device identity</em> by the protocol adapter on successful verification of the credentials.</p>
+
+<p>In order to support the protocol adapters in the process of verifying credentials presented by a device, the <a href="/hono/docs/dev/api/credentials-api/">Credentials API</a> provides means to look up <em>secrets</em> on record for the device and use this information to verify the credentials.</p>
+
+<p>The Credentials API supports registration of multiple sets of credentials for each device. A set of credentials consists of an <em>auth-id</em> and some sort of <em>secret</em> information. The particular <em>type</em> of secret determines the kind of information kept. Please refer to the <a href="/hono/docs/dev/api/credentials-api/#standard-credential-types">Standard Credential Types</a> defined in the Credentials API for details. Based on this approach, a device may be authenticated using different types of secrets, e.g. a <em>hashed password</em> or a <em>pre-shared key</em>, depending on the capabilities of the device and/or protocol adapter.</p>
+
+<p>Once the protocol adapter has resolved the <em>device-id</em> for a device, it uses this identity when referring to the device in all subsequent API invocations, e.g. when forwarding telemetry messages downstream to the AMQP Messaging Network.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/concepts/device-notifications/index.html b/docs/dev/concepts/device-notifications/index.html
new file mode 100644
index 0000000..1440251
--- /dev/null
+++ b/docs/dev/concepts/device-notifications/index.html
@@ -0,0 +1,2298 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Device Notifications :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Device Notifications :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Device Notifications :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts/device-notifications//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/device-notifications/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item active">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/device-notifications/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/device-notifications/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/device-notifications.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/concepts/'>Concepts</a> > Device Notifications
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#time-until-disconnect-notification">Time until Disconnect Notification</a>
+<ul>
+<li><a href="#determining-a-device-s-connection-status">Determining a Device&rsquo;s Connection Status</a></li>
+<li><a href="#source-of-the-ttd-value">Source of the <em>ttd</em> Value</a></li>
+<li><a href="#hono-s-http-protocol-adapter">Hono&rsquo;s HTTP protocol adapter</a></li>
+<li><a href="#hono-s-mqtt-protocol-adapter">Hono&rsquo;s MQTT protocol adapter</a></li>
+<li><a href="#examples">Examples</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Device Notifications</h1>
+          
+
+        
+
+
+<p><em>Business Applications</em> need to know when an attempt to send a command to device is feasible, e.g. because the device is then known to be connected to a protocol adapter. <em>Devices</em> and <em>Protocol Adapters</em> can indicate to <em>Business Applications</em> a device&rsquo;s intent to e.g. receive commands using specific <em>notifications</em>.</p>
+
+<h2 id="time-until-disconnect-notification">Time until Disconnect Notification</h2>
+
+<p><em>Devices</em> and <em>Protocol Adapters</em> can notify an application about the fact that a device is connected and ready to receive one or more commands by means of including a <em>time &lsquo;til disconnect</em> (<em>ttd</em>) property in downstream AMQP 1.0 messages containing data originating from a connected device.</p>
+
+<p>The <em>ttd</em> property value indicates the time that the device will stay connected to the protocol adapter.
+Using this value together with the <em>creation-time</em> of the message, an application can determine whether an attempt to send a command to the device has a reasonable chance of succeeding.</p>
+
+<p>The <em>ttd</em> property can be included in any regular telemetry or event message. However, if a device does not have any telemetry data or event to upload to the adapter, it can also use an <a href="/hono/docs/dev/api/event-api/#empty-notification">empty notification</a> instead.</p>
+
+<p>Hono includes utility classes that application developers can use to register a callback to be notified when a device sends a <em>ttd</em> notification.
+See Hono&rsquo;s example module for details where such a notification callback is used.</p>
+
+<p>Please refer to the <a href="/hono/docs/dev/api/telemetry-api/">Telemetry API</a> and the <a href="/hono/docs/dev/api/event-api/">Event API</a> for further details.</p>
+
+<p>The following table defines the possible values of the <em>ttd</em> property and their semantics:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">TTD</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left">&gt; 0</td>
+<td align="left">The value indicates the number of seconds that the device will stay connected. Devices using a stateless protocol like HTTP will be able to receive a single command only before disconnecting.</td>
+</tr>
+
+<tr>
+<td align="left">-1</td>
+<td align="left">The device is now connected (i.e. available to receive upstream messages) until further notice.</td>
+</tr>
+
+<tr>
+<td align="left">0</td>
+<td align="left">The device is now disconnected (i.e. not available anymore to receive upstream messages).</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="determining-a-device-s-connection-status">Determining a Device&rsquo;s Connection Status</h3>
+
+<p>An application receiving a downstream message containing a <em>ttd</em> property can check if the device is currently connected
+(and thus ready to receive a command) by</p>
+
+<ul>
+<li>adding the <em>ttd</em> value to the <em>creation-time</em> to determine the <em>expiration</em> time, and then</li>
+<li>comparing the <em>current</em> time with the <em>expiration</em> time</li>
+</ul>
+
+<p>If the <em>current</em> time is <em>after</em> the <em>expiration</em> time, the device should be assumed to already have disconnected again.</p>
+
+<h3 id="source-of-the-ttd-value">Source of the <em>ttd</em> Value</h3>
+
+<p>While it seems to be natural that a device itself indicates when it is ready to receive a command, it may not always be
+possible or desirable to do so.</p>
+
+<p>A device could e.g. be not capable to specify the value for <em>ttd</em> in it&rsquo;s message, or all devices of a particular setup
+would always use the same value for <em>ttd</em>, so it would not make much sense to provide this value always again.</p>
+
+<p>Additionally different protocols may or may not let a sender set specific values for a message, so a device using a
+specific protocol may not be able to provide a value for the <em>ttd</em> property at all.</p>
+
+<p>For these reasons there are (resp. may be) additional ways of setting the value of <em>ttd</em>:</p>
+
+<ul>
+<li>Hono&rsquo;s Tenant and Device Registration APIs support the inclusion of default values for application-properties in the
+AMQP 1.0 message. By these means a device can be configured to always have a specific value for <em>ttd</em>.</li>
+<li>In a future extension there may be a configuration value per tenant and protocol adapter that sets the value of <em>ttd</em>
+if it was not provided by other means already (like provided to the protocol adapter or by setting a default value).
+<br /></li>
+</ul>
+
+<h3 id="hono-s-http-protocol-adapter">Hono&rsquo;s HTTP protocol adapter</h3>
+
+<p>Hono&rsquo;s HTTP protocol adapter supports the setting of the <em>ttd</em> value in requests explicitly - please refer to the
+<a href="/hono/docs/dev/user-guide/http-adapter/">HTTP Adapter</a> for details.</p>
+
+<p>Alternatively the default property values for devices from the Device Registry can be used (described above).</p>
+
+<h3 id="hono-s-mqtt-protocol-adapter">Hono&rsquo;s MQTT protocol adapter</h3>
+
+<p>The MQTT protocol adapter automatically sends a <em>Time until disconnect notification</em> with a <em>ttd</em> value of <code>-1</code>
+for a device that subscribes to the appropriate command topic (refer to the <a href="/hono/docs/dev/user-guide/mqtt-adapter/">MQTT Adapter user guide</a> for details).</p>
+
+<p>When a device unsubscribes again, the adapter automatically sends a <em>Time until disconnect notification</em> with a <em>ttd</em> value of <code>0</code>.</p>
+
+<h3 id="examples">Examples</h3>
+
+<p>The following sequence diagram shows a <em>Time until disconnect notification</em> while sending a telemetry message downstream
+via the HTTP protocol adapter:</p>
+
+<figure>
+    <img src="../device_commandReadinessImplicit.svg"/> <figcaption>
+            <h4>Device command readiness with telemetry data</h4>
+        </figcaption>
+</figure>
+
+
+<p>The following sequence diagram shows a <em>Time until disconnect notification</em> by sending an empty event message downstream
+via the HTTP protocol adapter:</p>
+
+<figure>
+    <img src="../device_commandReadinessExplicit.svg"/> <figcaption>
+            <h4>Device command readiness with explicit event</h4>
+        </figcaption>
+</figure>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/concepts/device_commandReadinessExplicit.svg b/docs/dev/concepts/device_commandReadinessExplicit.svg
new file mode 100644
index 0000000..f51d1e5
--- /dev/null
+++ b/docs/dev/concepts/device_commandReadinessExplicit.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="711.6px" preserveAspectRatio="none" style="width:1803px;height:711px;" version="1.1" viewBox="0 0 1803 711" width="1803.6px" zoomAndPan="magnify"><defs><filter height="300%" id="f1r9pxs4xq39he" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="48" x2="48" y1="45.9563" y2="663.3844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="789" x2="789" y1="45.9563" y2="663.3844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1253.4" x2="1253.4" y1="45.9563" y2="663.3844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1527.6" x2="1527.6" y1="45.9563" y2="663.3844"/><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="9.6" y="662.1844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="18" y="686.1785">Device</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="684.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="693" y="27.5941">HTTP Protocol Adapter</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="684.6" y="662.1844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="693" y="686.1785">HTTP Protocol Adapter</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="1165.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="1174.2" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="1165.8" y="662.1844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="1174.2" y="686.1785">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="198" x="1426.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="1435.2" y="27.5941">Consumer Application</text><rect fill="#FEFECE" filter="url(#f1r9pxs4xq39he)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="198" x="1426.8" y="662.1844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="1435.2" y="686.1785">Consumer Application</text><path d="M54,63.9563 L54,111.9563 L476.4,111.9563 L476.4,75.9563 L464.4,63.9563 L54,63.9563 " fill="#FBFB77" filter="url(#f1r9pxs4xq39he)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M464.4,63.9563 L464.4,75.9563 L476.4,75.9563 L464.4,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="397.2" x="61.2" y="84.4365">sending explicit event to signal command readiness</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="61.2" y="102.5959">for the next 60 seconds</text><path d="M54,129.075 L54,177.075 L493.2,177.075 L493.2,141.075 L481.2,129.075 L54,129.075 " fill="#FBFB77" filter="url(#f1r9pxs4xq39he)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M481.2,129.075 L481.2,141.075 L493.2,141.075 L481.2,129.075 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="414" x="61.2" y="149.5553">The HTTP specific header "hono-ttd" is used to provide</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="270" x="61.2" y="167.7146">the value for ttd by the device itself</text><polygon fill="#A80036" points="774.6,208.7531,786.6,213.5531,774.6,218.3531,779.4,213.5531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="48.6" x2="781.8" y1="213.5531" y2="213.5531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="711.6" x="57" y="207.474">POST event(hono-ttd="60", Content-Type="application/vnd.eclipse-hono-empty-notification")</text><path d="M608.4,229.1531 L608.4,331.1531 L963.6,331.1531 L963.6,241.1531 L951.6,229.1531 L608.4,229.1531 " fill="#FBFB77" filter="url(#f1r9pxs4xq39he)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M951.6,229.1531 L951.6,241.1531 L963.6,241.1531 L951.6,229.1531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="193.2" x="615.6" y="249.6334">Set AMQP 1.0 properties:</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="615.6" y="267.7928">tenant-id: "TENANT",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="133.2" x="615.6" y="285.9521">device-id: "4711",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="330" x="615.6" y="304.1115">creation-time: NOW (in epoch milliseconds)</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="615.6" y="322.2709">ttd: value from http-ttd</text><polygon fill="#A80036" points="1239,363.3094,1251,368.1094,1239,372.9094,1243.8,368.1094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="789" x2="1246.2" y1="368.1094" y2="368.1094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="435.6" x="797.4" y="362.0303">1.0 transfer("event/TENANT", "4711", , creation-time, ttd)</text><polygon fill="#A80036" points="1513.8,398.2688,1525.8,403.0687,1513.8,407.8688,1518.6,403.0687" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1253.4" x2="1521" y1="403.0687" y2="403.0687"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="246" x="1261.8" y="396.9896">1.2 transfer("event/TENANT", ...)</text><polygon fill="#A80036" points="1266.6,433.2281,1254.6,438.0281,1266.6,442.8281,1261.8,438.0281" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1259.4" x2="1527" y1="438.0281" y2="438.0281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="1273.8" y="431.949">2.0 disposition("accepted")</text><polygon fill="#A80036" points="802.2,468.1875,790.2,472.9875,802.2,477.7875,797.4,472.9875" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="795" x2="1252.2" y1="472.9875" y2="472.9875"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="809.4" y="466.9084">2.0 disposition("accepted")</text><polygon fill="#A80036" points="61.8,503.1469,49.8,507.9469,61.8,512.7469,57,507.9469" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="54.6" x2="787.8" y1="507.9469" y2="507.9469"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="69" y="501.8678">HTTP/1.1 202 Accepted</text><line style="stroke: #A80036; stroke-width: 1.2;" x1="1528.2" x2="1578.6" y1="542.9063" y2="542.9063"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1578.6" x2="1578.6" y1="542.9063" y2="558.5063"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1529.4" x2="1578.6" y1="558.5063" y2="558.5063"/><polygon fill="#A80036" points="1541.4,553.7063,1529.4,558.5063,1541.4,563.3063,1536.6,558.5063" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="253.2" x="1536.6" y="536.8271">callbackIfValid(creation-time, ttd)</text><path d="M1314,574.1062 L1314,640.1062 L1736.4,640.1062 L1736.4,586.1062 L1724.4,574.1062 L1314,574.1062 " fill="#FBFB77" filter="url(#f1r9pxs4xq39he)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M1724.4,574.1062 L1724.4,586.1062 L1736.4,586.1062 L1724.4,574.1062 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="397.2" x="1321.2" y="594.5865">React if message indicates that currently the device</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="237.6" x="1321.2" y="612.7459">is ready to receive a command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="271.2" x="1321.2" y="630.9053">(e.g. by trying to send a command)</text><!--
+@startuml
+scale 1.2
+
+participant Device
+
+participant "HTTP Protocol Adapter"
+participant "AMQP 1.0 Network"
+participant "Consumer Application"
+
+note right of Device
+sending explicit event to signal command readiness
+for the next 60 seconds
+end note
+note right of Device
+The HTTP specific header "hono-ttd" is used to provide
+the value for ttd by the device itself
+end note
+
+Device -> "HTTP Protocol Adapter": POST event(hono-ttd="60", Content-Type="application/vnd.eclipse-hono-empty-notification")
+
+note over "HTTP Protocol Adapter"
+Set AMQP 1.0 properties:
+tenant-id: "TENANT",
+device-id: "4711",
+creation-time: NOW (in epoch milliseconds)
+ttd: value from http-ttd
+end note
+
+"HTTP Protocol Adapter" -> "AMQP 1.0 Network": 1.0 transfer("event/TENANT", "4711", , creation-time, ttd)
+"AMQP 1.0 Network" -> "Consumer Application": 1.2 transfer("event/TENANT", ...)
+"Consumer Application" -> "AMQP 1.0 Network": 2.0 disposition("accepted")
+"AMQP 1.0 Network" -> "HTTP Protocol Adapter": 2.0 disposition("accepted")
+
+
+"HTTP Protocol Adapter" -> Device: HTTP/1.1 202 Accepted
+
+"Consumer Application" -> "Consumer Application": callbackIfValid(creation-time, ttd)
+note over "Consumer Application"
+React if message indicates that currently the device
+is ready to receive a command
+(e.g. by trying to send a command)
+end note
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/device_commandReadinessImplicit.svg b/docs/dev/concepts/device_commandReadinessImplicit.svg
new file mode 100644
index 0000000..836a06a
--- /dev/null
+++ b/docs/dev/concepts/device_commandReadinessImplicit.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="740.4px" preserveAspectRatio="none" style="width:1734px;height:740px;" version="1.1" viewBox="0 0 1734 740" width="1734px" zoomAndPan="magnify"><defs><filter height="300%" id="fnzp9xyiux0bi" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="361.2" x2="361.2" y1="45.9563" y2="692.1844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="657" x2="657" y1="45.9563" y2="692.1844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1152.6" x2="1152.6" y1="45.9563" y2="692.1844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1458" x2="1458" y1="45.9563" y2="692.1844"/><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="322.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="331.2" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="322.8" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="331.2" y="714.9785">Device</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="552.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="561" y="27.5941">HTTP Protocol Adapter</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="552.6" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="561" y="714.9785">HTTP Protocol Adapter</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="1065" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="1073.4" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="1065" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="1073.4" y="714.9785">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="198" x="1357.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="1365.6" y="27.5941">Consumer Application</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="198" x="1357.2" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="1365.6" y="714.9785">Consumer Application</text><path d="M9.6,63.9563 L9.6,111.9563 L351.6,111.9563 L351.6,75.9563 L339.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M339.6,63.9563 L339.6,75.9563 L351.6,75.9563 L339.6,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="316.8" x="16.8" y="84.4365">sending telemetry data with explicit value</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="188.4" x="16.8" y="102.5959">for ttd set to 60 seconds</text><polygon fill="#A80036" points="642.6,143.6344,654.6,148.4344,642.6,153.2344,647.4,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="361.8" x2="649.8" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="266.4" x="370.2" y="142.3553">telemetry(hono-ttd="60", payload)</text><path d="M139.2,164.0344 L139.2,212.0344 L578.4,212.0344 L578.4,176.0344 L566.4,164.0344 L139.2,164.0344 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M566.4,164.0344 L566.4,176.0344 L578.4,176.0344 L566.4,164.0344 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="414" x="146.4" y="184.5146">The HTTP specific header "hono-ttd" is used to provide</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="270" x="146.4" y="202.674">the value for ttd by the device itself</text><path d="M476.4,229.1531 L476.4,313.1531 L831.6,313.1531 L831.6,241.1531 L819.6,229.1531 L476.4,229.1531 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M819.6,229.1531 L819.6,241.1531 L831.6,241.1531 L819.6,229.1531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="193.2" x="483.6" y="249.6334">Set AMQP 1.0 properties:</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="483.6" y="267.7928">tenant-id: "TENANT",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="133.2" x="483.6" y="285.9521">device-id: "4711",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="330" x="483.6" y="304.1115">creation-time: NOW (in epoch milliseconds)</text><polygon fill="#A80036" points="1138.2,345.15,1150.2,349.95,1138.2,354.75,1143,349.95" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="657" x2="1145.4" y1="349.95" y2="349.95"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="466.8" x="665.4" y="343.8709">1.0 transfer("telemetry/TENANT", "4711", , creation-time, ttd)</text><polygon fill="#A80036" points="1444.2,380.1094,1456.2,384.9094,1444.2,389.7094,1449,384.9094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1152.6" x2="1451.4" y1="384.9094" y2="384.9094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="277.2" x="1161" y="378.8303">1.2 transfer("telemetry/TENANT", ...)</text><polygon fill="#A80036" points="1165.8,415.0687,1153.8,419.8688,1165.8,424.6688,1161,419.8688" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1158.6" x2="1457.4" y1="419.8688" y2="419.8688"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="1173" y="413.7896">2.0 disposition("accepted")</text><polygon fill="#A80036" points="670.2,450.0281,658.2,454.8281,670.2,459.6281,665.4,454.8281" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="663" x2="1151.4" y1="454.8281" y2="454.8281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="677.4" y="448.749">2.0 disposition("accepted")</text><polygon fill="#A80036" points="375,484.9875,363,489.7875,375,494.5875,370.2,489.7875" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="367.8" x2="655.8" y1="489.7875" y2="489.7875"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="382.2" y="483.7084">HTTP/1.1 202 Accepted</text><path d="M1324.8,505.3875 L1324.8,535.3875 L1586.4,535.3875 L1586.4,517.3875 L1574.4,505.3875 L1324.8,505.3875 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M1574.4,505.3875 L1574.4,517.3875 L1586.4,517.3875 L1574.4,505.3875 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="236.4" x="1332" y="525.8678">Processing the telemetry data.</text><line style="stroke: #A80036; stroke-width: 1.2;" x1="1458.6" x2="1509" y1="571.7063" y2="571.7063"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1509" x2="1509" y1="571.7063" y2="587.3063"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1459.8" x2="1509" y1="587.3063" y2="587.3063"/><polygon fill="#A80036" points="1471.8,582.5063,1459.8,587.3063,1471.8,592.1062,1467,587.3063" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="253.2" x="1467" y="565.6271">callbackIfValid(creation-time, ttd)</text><path d="M1244.4,602.9063 L1244.4,668.9063 L1666.8,668.9063 L1666.8,614.9063 L1654.8,602.9063 L1244.4,602.9063 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M1654.8,602.9063 L1654.8,614.9063 L1666.8,614.9063 L1654.8,602.9063 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="397.2" x="1251.6" y="623.3865">React if message indicates that currently the device</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="237.6" x="1251.6" y="641.5459">is ready to receive a command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="271.2" x="1251.6" y="659.7053">(e.g. by trying to send a command)</text><!--
+@startuml
+scale 1.2
+
+participant Device
+
+participant "HTTP Protocol Adapter"
+participant "AMQP 1.0 Network"
+participant "Consumer Application"
+
+note left of Device
+sending telemetry data with explicit value
+for ttd set to 60 seconds
+end note
+
+Device -> "HTTP Protocol Adapter": telemetry(hono-ttd="60", payload)
+note over Device
+The HTTP specific header "hono-ttd" is used to provide
+the value for ttd by the device itself
+end note
+
+
+
+note over "HTTP Protocol Adapter"
+Set AMQP 1.0 properties:
+tenant-id: "TENANT",
+device-id: "4711",
+creation-time: NOW (in epoch milliseconds)
+end note
+
+"HTTP Protocol Adapter" -> "AMQP 1.0 Network": 1.0 transfer("telemetry/TENANT", "4711", , creation-time, ttd)
+"AMQP 1.0 Network" -> "Consumer Application": 1.2 transfer("telemetry/TENANT", ...)
+"Consumer Application" -> "AMQP 1.0 Network": 2.0 disposition("accepted")
+"AMQP 1.0 Network" -> "HTTP Protocol Adapter": 2.0 disposition("accepted")
+
+"HTTP Protocol Adapter" -> Device: HTTP/1.1 202 Accepted
+
+note over "Consumer Application"
+Processing the telemetry data.
+end note
+
+
+
+"Consumer Application" -> "Consumer Application": callbackIfValid(creation-time, ttd)
+note over "Consumer Application"
+React if message indicates that currently the device
+is ready to receive a command
+(e.g. by trying to send a command)
+end note
+@enduml
+
+PlantUML version 1.2019.07beta1(Unknown compile time)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.7.0_25-b15
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/docs/dev/concepts/index.html b/docs/dev/concepts/index.html
new file mode 100644
index 0000000..c736ad5
--- /dev/null
+++ b/docs/dev/concepts/index.html
@@ -0,0 +1,2160 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Concepts :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Concepts :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Concepts :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > Concepts
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="concepts">Concepts</h1>
+
+<p>Understand the concepts behind Hono&trade;.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/concepts/index.xml b/docs/dev/concepts/index.xml
new file mode 100644
index 0000000..2166285
--- /dev/null
+++ b/docs/dev/concepts/index.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Concepts on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/concepts/</link>
+    <description>Recent content in Concepts on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/concepts/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Device Identity</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/device-identity/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/device-identity/</guid>
+      <description>&lt;p&gt;This page describes how devices are represented and identified throughout Hono and its API&amp;rsquo;s.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Multi-Tenancy</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/tenancy/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/tenancy/</guid>
+      <description>Hono is designed to structure the set of all internally managed data and data streams into strictly isolated subsets. This includes the registration data and credentials of devices, internal users that are used for authentication, and the Business Applications that are part of such subsets as well.
+This way of strict isolation is generally known as multi-tenancy, where a tenant is the term for such a subset. Such an isolation is essential for enabling a scalable distributed architecture to handle independent subsets as if each subset had its own installation (which would be much harder to maintain and would not benefit from runtime cost sharing).</description>
+    </item>
+    
+    <item>
+      <title>Device Notifications</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/</guid>
+      <description>&lt;p&gt;&lt;em&gt;Business Applications&lt;/em&gt; need to know when an attempt to send a command to device is feasible, e.g. because the device is then known to be connected to a protocol adapter. &lt;em&gt;Devices&lt;/em&gt; and &lt;em&gt;Protocol Adapters&lt;/em&gt; can indicate to &lt;em&gt;Business Applications&lt;/em&gt; a device&amp;rsquo;s intent to e.g. receive commands using specific &lt;em&gt;notifications&lt;/em&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Command &amp; Control</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/</guid>
+      <description>&lt;p&gt;&lt;em&gt;Business applications&lt;/em&gt; can send commands to devices following the &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/command-and-control-api/&#34;&gt;Command &amp;amp; Control API&lt;/a&gt;. This concept page describes how this API is used by applications to send commands to devices that connected to one of Hono&amp;rsquo;s protocol adapters.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Resource limits</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/</guid>
+      <description>Resource limits such as the maximum number of device connections allowed per tenant or the allowed data volume of the messages over a period of time per tenant can be set in Hono.
+Hono specifies an API ResourceLimitChecks that is used by the protocol adapters for the verification of the configured resource limits. A default implementation of this API is shipped with Hono. This default implementation uses the live metrics data retrieved from a Prometheus server to verify the resource-limits, if configured.</description>
+    </item>
+    
+    <item>
+      <title>Connection Events</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/connection-events/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/connection-events/</guid>
+      <description>Hono&amp;rsquo;s protocol adapters can use connection events to indicate the connection status of a device. In particular, an adapter can notify downstream components about a newly established connection with a device or about a device having disconnected. The connection status of devices using stateful protocols like MQTT and AMQP can usually be determined quite easily because these protocols often require peers to explicitly open or close a connection and often also support a kind of heart beat which can be used to determine if a connection is still alive.</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/concepts/resource-limits/index.html b/docs/dev/concepts/resource-limits/index.html
new file mode 100644
index 0000000..d31b46f
--- /dev/null
+++ b/docs/dev/concepts/resource-limits/index.html
@@ -0,0 +1,2199 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Resource limits :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Resource limits :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Resource limits :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts/resource-limits//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/resource-limits/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item active">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/resource-limits/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/resource-limits/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/resource-limits.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/concepts/'>Concepts</a> > Resource limits
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#connections-limit">Connections Limit</a></li>
+<li><a href="#messages-limit">Messages Limit</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Resource limits</h1>
+          
+
+        
+
+
+
+
+<p>Resource limits such as the maximum number of device connections allowed per tenant or the allowed data volume of the messages over a period of time per tenant can be set in Hono.</p>
+
+<p>Hono specifies an API <code>ResourceLimitChecks</code> that is used by the protocol adapters for the verification of the configured resource limits. A default implementation of this API is shipped with Hono. This default implementation uses the live metrics data retrieved from a Prometheus server to verify the resource-limits, if configured. To enable and use this default implementation, please refer to the protocol adapter admin guides. Based on the requirements, a custom version of the above API can be implemented and used. The resource-limits for a tenant can be set using the tenant configuration. Please refer to the <a href="/hono/docs/dev/api/tenant-api/#request-payload">Tenant API</a> for more details.</p>
+
+<h2 id="connections-limit">Connections Limit</h2>
+
+<p>Before accepting a new connection request from a device, the number of existing connections is checked against the configured limit by the protocol adapters. The connection request is declined if the limit is exceeded.</p>
+
+<p>The MQTT and AMQP protocol adapters keep the connections longer opened than their counterparts such as HTTP. Thereby the MQTT and AMQP adapters are enabled to check the connection limits before accepting any new connection to a device.</p>
+
+<h2 id="messages-limit">Messages Limit</h2>
+
+<p>Hono supports limiting the number of messages that devices and north bound applications of a tenant can publish to Hono during a given time interval. Before accepting any telemetry or event or command messages from devices or north bound applications, it is checked by the protocol adapters that if the message limit is exceeded or not. The incoming message is discarded if the limit is exceeded.</p>
+
+<p>The default prometheus based implementation uses data volume as the factor to limit the messages. The data volume already consumed by a tenant over the given time interval is compared with the configured message limit before accepting any messages.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/concepts/tenancy/index.html b/docs/dev/concepts/tenancy/index.html
new file mode 100644
index 0000000..2afdbfe
--- /dev/null
+++ b/docs/dev/concepts/tenancy/index.html
@@ -0,0 +1,2340 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Multi-Tenancy :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Multi-Tenancy :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Multi-Tenancy :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/concepts/tenancy//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/concepts/tenancy/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item active">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/concepts/tenancy/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/concepts/tenancy/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/concepts/tenancy.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/concepts/'>Concepts</a> > Multi-Tenancy
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#the-tenant-api">The Tenant API</a></li>
+<li><a href="#protocol-adapters-respect-the-tenant-api">Protocol Adapters respect the Tenant API</a></li>
+<li><a href="#protocol-adapter-configuration">Protocol Adapter Configuration</a></li>
+<li><a href="#amqp-1-0-endpoints">AMQP 1.0 Endpoints</a></li>
+<li><a href="#devices-and-tenants">Devices and Tenants</a></li>
+<li><a href="#tenant-based-flow-control">Tenant based Flow Control</a></li>
+<li><a href="#authorization-at-tenant-level">Authorization at Tenant Level</a></li>
+<li><a href="#business-applications-and-tenants">Business Applications and Tenants</a></li>
+<li><a href="#separation-of-tenants">Separation of Tenants</a></li>
+<li><a href="#hints-for-production">Hints for Production</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Multi-Tenancy</h1>
+          
+
+        
+
+
+
+
+<p>Hono is designed to structure the set of all internally managed data and data streams into strictly isolated subsets.
+This includes the registration data and credentials of devices, internal users that are used for authentication,
+and the <em>Business Applications</em> that are part of such subsets as well.</p>
+
+<p>This way of <em>strict</em> isolation is generally known as multi-tenancy, where a <strong>tenant</strong> is the term for such a subset.
+Such an isolation is essential for enabling a scalable distributed architecture to handle independent subsets as if each subset had its
+own installation (which would be much harder to maintain and would not benefit from runtime cost sharing).</p>
+
+<p>Hono&rsquo;s multi-tenancy concept is based on handling tenants as own <em>entities</em>. All functionality of Hono is
+provided in the context of a previously created tenant - except the creation of a tenant itself.</p>
+
+<p>In the following the different aspects of multi-tenancy in Hono are addressed and a full overview of the concept is given.</p>
+
+<h2 id="the-tenant-api">The Tenant API</h2>
+
+<p>By means of the <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> Hono handles tenants as own <em>entities</em>.</p>
+
+<p>The API defines how to <em>retrieve</em> the details of a specific tenant. This offers the possibility to handle arbitrary
+properties on the level of a tenant (see e.g. <a href="#protocol-adapter-configuration">Protocol adapter configuration</a>).</p>
+
+<p>For convenience, there are CRUD operations for the handling of tenants, which can be found in the
+<a href="/hono/docs/dev/user-guide/device-registry/#managing-tenants">Device Registry</a>.</p>
+
+<h2 id="protocol-adapters-respect-the-tenant-api">Protocol Adapters respect the Tenant API</h2>
+
+<p>When a device connects to one of Hono&rsquo;s protocol adapters, the adapter determines the tenant this device belongs to.
+How this is done is described in the User Guide.</p>
+
+<p>After the tenant is determined, the adapter retrieves the details of the determined tenant by means of the Tenant API.
+Only if the tenant exists and is enabled the adapter further processes the data of the device that is connecting. Otherwise
+the connection will be closed.</p>
+
+<h2 id="protocol-adapter-configuration">Protocol Adapter Configuration</h2>
+
+<p>Protocol adapters retrieve parts of their configuration on a tenant level by using the details of the determined tenant.</p>
+
+<p>This includes e.g. if a specific protocol adapter is enabled at all for this tenant, allowing to define tenants with
+only a subset of Hono&rsquo;s functionality. This feature is foreseen to be especially important for production setups.</p>
+
+<p><em>Example</em>: a tenant that</p>
+
+<ul>
+<li>can use the MQTT protocol adapter</li>
+<li>but is not allowed to use the HTTP protocol adapter</li>
+</ul>
+
+<p>Please refer to the <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a> to find out which protocol adapter properties are
+configurable on a tenant level. The number of such properties may grow during further development of Hono.</p>
+
+<h2 id="amqp-1-0-endpoints">AMQP 1.0 Endpoints</h2>
+
+<p>The AMQP 1.0 endpoints for all APIs of Hono are scoped to a tenant, by using the scheme <code>&lt;api-name&gt;/TENANT/...</code>.</p>
+
+<p><em>Examples</em>:</p>
+
+<ul>
+<li><code>telemetry/TENANT</code></li>
+<li><code>registration/TENANT</code></li>
+</ul>
+
+<p>etc.</p>
+
+<p>This separates the AMQP endpoints from each other on a tenant level.</p>
+
+<p>The only exception to this is the <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a>, which does not follow this scheme since it
+is addressing the tenants themselves.</p>
+
+<h2 id="devices-and-tenants">Devices and Tenants</h2>
+
+<p>All devices of Hono belong to exactly one tenant, so any data is sent in the context of the
+tenant a device belongs to.</p>
+
+<p>It is important here to focus on Hono&rsquo;s view of a device: it is on a logical level, meaning a device is created in the
+context of a tenant purely by using Hono&rsquo;s Credentials and Device Registration API.</p>
+
+<p>Usually a physical device will be created in Hono as exactly one logical device, and thus belongs to exactly one tenant.</p>
+
+<p>The following diagram shows the relation between tenants, devices and their credentials:</p>
+
+<figure>
+    <img src="../Tenants_Devices_Credentials.png"/> <figcaption>
+            <h4>Tenants, Devices and Credentials</h4>
+        </figcaption>
+</figure>
+
+
+<h2 id="tenant-based-flow-control">Tenant based Flow Control</h2>
+
+<p>An important detail in Hono&rsquo;s architecture is that data sent downstream is transported via the tenant
+scoped AMQP 1.0 links from the protocol adapters to the AMQP 1.0 network.</p>
+
+<p>Each tenant has its own pair of AMQP 1.0 links and is treated
+independently from other tenants regarding the back pressure mechanism that AMQP 1.0 offers.</p>
+
+<p>This enables a <em>Business application</em> to limit the rate at which it consumes AMQP 1.0 messages per tenant.</p>
+
+<h2 id="authorization-at-tenant-level">Authorization at Tenant Level</h2>
+
+<p>Hono&rsquo;s components authenticate each other by means of the <a href="/hono/docs/dev/api/authentication-api/">Authentication API</a>.</p>
+
+<p>The returned token for a successful authentication contains authorization information that is addressing the AMQP 1.0
+endpoints. Since the endpoints (as outlined above) are scoped to a tenant, this enables to configure tenants that are
+authorized to only a subset of Hono&rsquo;s full functionality.</p>
+
+<p><em>Example</em>: a tenant (defined by means of authorization configuration) that</p>
+
+<ul>
+<li>is allowed to send telemetry data downstream</li>
+<li>but is not allowed to send event data</li>
+</ul>
+
+<p>This is done by not including the event endpoint in the authorization token for these tenants.</p>
+
+<h2 id="business-applications-and-tenants">Business Applications and Tenants</h2>
+
+<p>The northbound <em>Business applications</em> are always connecting to the AMQP 1.0 endpoints of Hono.</p>
+
+<p>By means of the authentication and authorization setup and the fact that the endpoints are scoped to a tenant, the
+<em>Business application</em> is only acting in the context of one tenant.</p>
+
+<h2 id="separation-of-tenants">Separation of Tenants</h2>
+
+<p>Tenants are separated from each other in all of Hono&rsquo;s components.</p>
+
+<p>Here is a summary of how this is implemented:</p>
+
+<ul>
+<li>the registration of devices are strictly scoped to a tenant</li>
+<li>the credentials of devices are strictly scoped to a tenant</li>
+<li>protocol adapters can be enabled/disabled for a tenant</li>
+<li>the downstream data flow is isolated for every tenant</li>
+<li><em>Business applications</em> need to authenticate to the AMQP 1.0 network and are by that mechanism scoped to their tenant</li>
+</ul>
+
+<h2 id="hints-for-production">Hints for Production</h2>
+
+<p>To be flexible for the different needs of production setups, Hono tries to make as few assumptions about the combination
+of the different APIs as possible.
+This means e.g. that the Device Registry does not enforce referential integrity of the APIs:</p>
+
+<ul>
+<li>devices can be created for a tenant that is not existing (yet)</li>
+<li>credentials can be created for a tenant and/or a device that is not existing (yet)</li>
+<li>tenants can be deleted and leave their scoped devices and credentials still in the configuration (which may not be usable
+anymore, since the tenant is missing)</li>
+</ul>
+
+<p>These are points that production setups may want to implement differently.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/deployment/create-kubernetes-cluster/index.html b/docs/dev/deployment/create-kubernetes-cluster/index.html
new file mode 100644
index 0000000..d4b0457
--- /dev/null
+++ b/docs/dev/deployment/create-kubernetes-cluster/index.html
@@ -0,0 +1,2401 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Setting up a Kubernetes Cluster :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Setting up a Kubernetes Cluster :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Setting up a Kubernetes Cluster :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item active">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/deployment/create-kubernetes-cluster/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/deployment/create-kubernetes-cluster/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/create-kubernetes-cluster.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/deployment/'>Deployment</a> > Setting up a Kubernetes Cluster
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#setting-up-a-local-development-environment">Setting up a local Development Environment</a></li>
+<li><a href="#setting-up-a-production-environment">Setting up a Production Environment</a></li>
+<li><a href="#setting-up-a-cluster-using-azure-kubernetes-service">Setting up a Cluster using Azure Kubernetes Service</a>
+<ul>
+<li><a href="#prepare-environment">Prepare Environment</a>
+<ul>
+<li><a href="#install-azure-cli">Install azure cli</a></li>
+<li><a href="#install-kubectl">Install Kubectl</a></li>
+<li><a href="#log-in-to-azure">Log in to Azure</a></li>
+<li><a href="#create-resource-group-for-hono-deployment">Create Resource Group for Hono Deployment</a></li>
+<li><a href="#create-private-container-registry-on-azure">Create private Container Registry on Azure</a></li>
+<li><a href="#log-in-to-container-registry">Log in to Container Registry</a></li>
+</ul></li>
+<li><a href="#create-azure-kubernetes-service-cluster">Create Azure Kubernetes Service Cluster</a>
+<ul>
+<li><a href="#create-service-principal">Create Service Principal</a></li>
+<li><a href="#create-cluster">Create Cluster</a></li>
+<li><a href="#set-cluster-as-current-context-for-kubectl">Set Cluster as current Context for kubectl</a></li>
+<li><a href="#create-clusterrolebinding-for-kubernetes-dashboard">Create ClusterRoleBinding for Kubernetes dashboard</a></li>
+<li><a href="#deploy-helm-s-tiller-service">Deploy Helm&rsquo;s Tiller Service</a></li>
+<li><a href="#grant-aks-cluster-access-to-container-registry">Grant AKS Cluster access to Container Registry</a></li>
+</ul></li>
+<li><a href="#monitoring">Monitoring</a></li>
+<li><a href="#cleaning-up">Cleaning up</a></li>
+<li><a href="#links">Links</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Setting up a Kubernetes Cluster</h1>
+          
+
+        
+
+
+<p>This guide describes how to set up a Kubernetes cluster which can be used to run Eclipse Hono.</p>
+
+<p>Hono can be deployed to any Kubernetes cluster running version 1.11 or newer. This includes <a href="https://www.okd.io/">OpenShift (Origin)</a> which is built on top of Kubernetes.</p>
+
+<p>The <a href="https://kubernetes.io/docs/setup/">Kubernetes web site</a> provides instructions for setting up a (local) cluster on bare metal and/or virtual infrastructure from scratch or for provisioning a managed Kubernetes cluster from one of the popular cloud providers.</p>
+
+<p><a name="Local Development"></a></p>
+
+<h2 id="setting-up-a-local-development-environment">Setting up a local Development Environment</h2>
+
+<p>The easiest option is to set up a single-node cluster running on a local VM using the <a href="https://github.com/kubernetes/minikube">Minikube</a> project.
+This kind of setup is sufficient for evaluation and development purposes.
+Please refer to Kubernetes&rsquo; <a href="https://kubernetes.io/docs/setup/minikube/">Minikube setup guide</a> for instructions on how to set up a cluster locally.</p>
+
+<p>The recommended settings for a Minikube VM used for running Hono&rsquo;s example setup are as follows:</p>
+
+<ul>
+<li><strong>cpus</strong>: 2</li>
+<li><strong>memory</strong>: 8192 (MB)</li>
+</ul>
+
+<p>The command to start the VM will look something like this:</p>
+
+<pre><code class="language-sh">minikube start --cpus 2 --memory 8192 -p hono
+</code></pre>
+
+<p>After the Minikube VM has started successfully, the <code>minikube tunnel</code> command should be run in order to support Hono&rsquo;s services being deployed using the <em>LoadBalancer</em> type. Please refer to the <a href="https://github.com/kubernetes/minikube/blob/master/docs/networking.md#access-to-loadbalancer-services-using-minikube-tunnel">Minikube Networking docs</a> for details.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Supported Kubernetes Versions</h4>
+    <div>Minikube will use the most recent Kubernetes version that was available when it has been compiled by default. Hono <em>should</em> run on any version of Kubernetes starting with 1.13.6. However, it has been tested with several specific versions only so if you experience any issues with running Hono on a more recent version, please try to deploy to 1.13.6 before
+raising an issue. You can use Minikube&rsquo;s <code>--kubernetes-version</code> command line switch to set a particular version.</div>
+</div>
+
+
+<h2 id="setting-up-a-production-environment">Setting up a Production Environment</h2>
+
+<p>Setting up a multi-node Kubernetes cluster is a more advanced topic. Please follow the corresponding links provided in the <a href="https://kubernetes.io/docs/setup/#production-environment">Kubernetes documentation</a>.</p>
+
+<h2 id="setting-up-a-cluster-using-azure-kubernetes-service">Setting up a Cluster using Azure Kubernetes Service</h2>
+
+<p>The following sections provide step-by-step instructions for setting up a Kubernetes cluster on Microsoft Azure that can be used to run Hono.</p>
+
+<h3 id="prepare-environment">Prepare Environment</h3>
+
+<p>At this step we expect you have clean Ubuntu VM or PC (tested on Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64))</p>
+
+<h4 id="install-azure-cli">Install azure cli</h4>
+
+<pre><code class="language-sh">sudo apt-get update
+sudo apt-get install curl apt-transport-https lsb-release gpg
+
+curl -sL https://packages.microsoft.com/keys/microsoft.asc | \
+    gpg --dearmor | \
+    sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg &gt; /dev/null
+
+AZ_REPO=$(lsb_release -cs)
+echo &quot;deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main&quot; | \
+    sudo tee /etc/apt/sources.list.d/azure-cli.list
+
+sudo apt-get update
+sudo apt-get install azure-cli
+</code></pre>
+
+<h4 id="install-kubectl">Install Kubectl</h4>
+
+<p>The kubectl tool is used to manage a Kubernetes cluster from the command line.
+Follow the <a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/">installation guide</a> in order to set up <code>kubectl</code> on your local machine.</p>
+
+<h4 id="log-in-to-azure">Log in to Azure</h4>
+
+<p>Type</p>
+
+<pre><code class="language-sh">az login
+</code></pre>
+
+<p>and follow instructions on screen.</p>
+
+<p>A result of successful log in will be a JSON output with subscription details. Run the following command, using the subscription <em>id</em> from the JSON structure:</p>
+
+<pre><code class="language-sh">az account set -s &quot;{YOUR SUBSCRIPTION ID}&quot;
+</code></pre>
+
+<p>Before we continue, let&rsquo;s setup some variables, that will be used to create resources on Azure:</p>
+
+<pre><code class="language-sh"># Name of your Resource Group, where all services will be deployed
+AKS_RESOURCE_GROUP={YOUR-RG-NAME}
+# Name of your AKS cluster
+AKS_CLUSTER_NAME={YOUR-AKS-NAME}
+# Name of your private container registry (should match ^[a-zA-Z0-9]*$)
+ACR_NAME={YOUR-ACR-NAME}
+</code></pre>
+
+<h4 id="create-resource-group-for-hono-deployment">Create Resource Group for Hono Deployment</h4>
+
+<pre><code class="language-sh">az group create --name $AKS_RESOURCE_GROUP --location westeurope
+</code></pre>
+
+<h4 id="create-private-container-registry-on-azure">Create private Container Registry on Azure</h4>
+
+<pre><code class="language-sh">az acr create --resource-group $AKS_RESOURCE_GROUP --name $ACR_NAME  --sku Basic
+</code></pre>
+
+<p>The full name of the private container registry will be <code>$ACR_NAME.azurecr.io</code>. This name needs to be used with the <code>docker push</code> command when pushing container images to the registry.</p>
+
+<h4 id="log-in-to-container-registry">Log in to Container Registry</h4>
+
+<pre><code class="language-sh">sudo az acr login --name $ACR_NAME
+</code></pre>
+
+<h3 id="create-azure-kubernetes-service-cluster">Create Azure Kubernetes Service Cluster</h3>
+
+<p>Now it&rsquo;s time to create the AKS cluster.</p>
+
+<h4 id="create-service-principal">Create Service Principal</h4>
+
+<pre><code class="language-sh">az ad sp create-for-rbac --skip-assignment
+</code></pre>
+
+<p>If successful, <em>appId</em> and <em>password</em> will be displayed.</p>
+
+<h4 id="create-cluster">Create Cluster</h4>
+
+<pre><code class="language-sh"># It is recommended to use kubernetes 1.12.5 or higher
+# To list available versions run:
+# az aks get-versions --location westeurope --output table
+
+az aks create --name $AKS_CLUSTER_NAME --resource-group $AKS_RESOURCE_GROUP --node-count 3 --generate-ssh-keys --service-principal &quot;{appId}&quot; --client-secret &quot;{password}&quot; --enable-addons monitoring --kubernetes-version 1.13.5
+</code></pre>
+
+<h4 id="set-cluster-as-current-context-for-kubectl">Set Cluster as current Context for kubectl</h4>
+
+<pre><code class="language-sh">az aks get-credentials --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME
+</code></pre>
+
+<h4 id="create-clusterrolebinding-for-kubernetes-dashboard">Create ClusterRoleBinding for Kubernetes dashboard</h4>
+
+<pre><code class="language-sh"># By default, AKS is deployed with RBAC enabled. Refer to this doc: https://docs.microsoft.com/en-us/azure/aks/kubernetes-dashboard
+
+kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
+</code></pre>
+
+<h4 id="deploy-helm-s-tiller-service">Deploy Helm&rsquo;s Tiller Service</h4>
+
+<pre><code class="language-sh">kubectl create serviceaccount --namespace kube-system tiller
+kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
+
+helm init --service-account tiller
+</code></pre>
+
+<h4 id="grant-aks-cluster-access-to-container-registry">Grant AKS Cluster access to Container Registry</h4>
+
+<pre><code class="language-sh"># Get the id of the service principal configured for AKS
+CLIENT_ID=$(az aks show --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --query &quot;servicePrincipalProfile.clientId&quot; --output tsv)
+
+# Get the ACR registry resource id
+ACR_ID=$(az acr show --name $ACR_NAME --resource-group $AKS_RESOURCE_GROUP --query &quot;id&quot; --output tsv)
+
+# Create role assignment
+az role assignment create --assignee $CLIENT_ID --role acrpull --scope $ACR_ID
+</code></pre>
+
+<h3 id="monitoring">Monitoring</h3>
+
+<p>You can monitor your cluster using Azure Monitor Insights.</p>
+
+<p>Navigate to <a href="https://portal.azure.com">https://portal.azure.com</a> -&gt; your resource group -&gt; your kubernetes cluster</p>
+
+<p>On an overview tab you fill find an information about your cluster (status, location, version, etc.). Also, here you will find a &ldquo;Monitor Containers&rdquo; link. Navigate to &ldquo;Monitor Containers&rdquo; and explore metrics and statuses of your Cluster, Nodes, Controllers and Containers.</p>
+
+<p>Another option is to use the kubernetes dashboard. To do this, run:</p>
+
+<pre><code class="language-sh">az aks browse --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME
+</code></pre>
+
+<p>This will create a port forward for Kubernetes&rsquo; dashboard on your local port 8001.
+Open <a href="http://127.0.0.1:8001">http://127.0.0.1:8001</a> in your browser and select <em>Namespace</em> <code>hono</code>, check status of your services, pods, etc.</p>
+
+<h3 id="cleaning-up">Cleaning up</h3>
+
+<p>Use the following command to delete all created resources (incl. the Kubernetes cluster and the private container registry)
+once they are no longer needed:</p>
+
+<pre><code class="language-sh">az group delete --name $AKS_RESOURCE_GROUP --yes --no-wait
+</code></pre>
+
+<h3 id="links">Links</h3>
+
+<ul>
+<li><a href="https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest">Azure CLI</a></li>
+<li><a href="https://docs.microsoft.com/en-us/azure/aks/">Azure Kubernetes Service</a></li>
+<li><a href="https://docs.microsoft.com/en-us/azure/container-registry/">Azure Container Registry</a></li>
+</ul>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/deployment/helm-based-deployment/index.html b/docs/dev/deployment/helm-based-deployment/index.html
new file mode 100644
index 0000000..e68c7b4
--- /dev/null
+++ b/docs/dev/deployment/helm-based-deployment/index.html
@@ -0,0 +1,2422 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Helm based Deployment :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Helm based Deployment :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Helm based Deployment :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/deployment/helm-based-deployment/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item active">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/deployment/helm-based-deployment/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/deployment/helm-based-deployment/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/helm-based-deployment.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/deployment/'>Deployment</a> > Helm based Deployment
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#prerequisites">Prerequisites</a>
+<ul>
+<li>
+<ul>
+<li><a href="#kubernetes-cluster">Kubernetes Cluster</a></li>
+<li><a href="#helm">Helm</a></li>
+<li><a href="#kubectl">Kubectl</a></li>
+<li><a href="#hono-helm-chart">Hono Helm Chart</a></li>
+<li><a href="#hono-command-line-client">Hono Command Line Client</a></li>
+</ul></li>
+</ul></li>
+<li><a href="#deploying-hono">Deploying Hono</a>
+<ul>
+<li><a href="#deploying-hono-using-kubectl">Deploying Hono using kubectl</a></li>
+</ul></li>
+<li><a href="#verifying-the-installation">Verifying the Installation</a></li>
+<li><a href="#accessing-the-grafana-dashboard">Accessing the Grafana Dashboard</a></li>
+<li><a href="#undeploying-hono">Undeploying Hono</a></li>
+<li><a href="#deploying-custom-container-images">Deploying custom Container Images</a>
+<ul>
+<li><a href="#deploying-via-a-private-registry">Deploying via a private Registry</a></li>
+<li><a href="#deploying-to-minikube">Deploying to Minikube</a></li>
+</ul></li>
+<li><a href="#deploying-jaeger">Deploying Jaeger</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Helm based Deployment</h1>
+          
+
+        
+
+
+<p>Eclipse Hono&trade;&rsquo;s components are provided as container images which can be run on arbitrary container orchestration platforms.
+This page describes the steps necessary to deploy Hono to a <a href="https://kubernetes.io">Kubernetes</a> cluster using the <a href="https://helm.sh">Helm package manager</a>.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>The example configuration that comes with Hono and which is used in this guide is supposed to be used for evaluation and development purposes only.</div>
+</div>
+
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<h4 id="kubernetes-cluster">Kubernetes Cluster</h4>
+
+<p>The most basic requirement is, of course, a Kubernetes cluster to deploy to.
+The <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">Kubernetes setup guide</a> describes options available for setting up a cluster.</p>
+
+<h4 id="helm">Helm</h4>
+
+<p>Helm is a tool for managing (complex) Kubernetes applications. In this guide it is used to deploy Hono to the cluster.
+<a href="https://docs.helm.sh/install/">Helm&rsquo;s installation instructions</a> provide more details.</p>
+
+<h4 id="kubectl">Kubectl</h4>
+
+<p>The kubectl tool is used to manage a Kubernetes cluster from the command line. In this guide it is used to retrieve information about Hono&rsquo;s service endpoints from the cluster.
+The <a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/">installation guide</a> provides instructions for setting up <code>kubectl</code> locally.</p>
+
+<h4 id="hono-helm-chart">Hono Helm Chart</h4>
+
+<p>The Helm chart is contained in the Hono archive that is available from <a href="https://www.eclipse.org/hono/downloads/
+">Hono&rsquo;s download page</a>.
+After the archive has been extracted, the chart can be found in the <code>eclipse-hono-$VERSION/deploy/helm</code> folder.</p>
+
+<h4 id="hono-command-line-client">Hono Command Line Client</h4>
+
+<p>The Hono command line client is available from the <a href="https://www.eclipse.org/hono/downloads/
+">download page</a>.
+The command line client requires a Java 11 runtime environment to run.</p>
+
+<h2 id="deploying-hono">Deploying Hono</h2>
+
+<p>The recommended way of deploying Hono is by means of using Helm&rsquo;s <em>Tiller</em> service running on the Kubernetes cluster:</p>
+
+<pre><code class="language-sh"># in directory: eclipse-hono-$VERSION/deploy/
+helm install --dep-up --name eclipse-hono --namespace hono helm/
+</code></pre>
+
+<p>This will create namespace <code>hono</code> in the cluster and install all the components to that namespace. The name of the Helm release will be <code>eclipse-hono</code>.</p>
+
+<p>The status of the deployment can be checked using any of the following commands:</p>
+
+<pre><code class="language-sh">helm list
+helm status eclipse-hono
+helm get eclipse-hono
+</code></pre>
+
+<h3 id="deploying-hono-using-kubectl">Deploying Hono using kubectl</h3>
+
+<p>In cases where installation of Helm&rsquo;s Tiller service into the cluster is not an option, the Kubernetes resource descriptors created by Helm can be deployed manually using the <code>kubectl</code> command line tool.</p>
+
+<p>The following commands generate the resource descriptors:</p>
+
+<pre><code class="language-sh"># in directory: eclipse-hono-$VERSION/deploy/
+helm dep update helm/
+helm template --name eclipse-hono --namespace hono --output-dir . helm/
+</code></pre>
+
+<p>This will create an <code>eclipse-hono</code> folder containing all the resource descriptors which can then be deployed to the cluster using <code>kubectl</code>:</p>
+
+<pre><code class="language-sh"># in directory: eclipse-hono-$VERSION/deploy/
+kubectl create namespace hono
+kubectl config set-context $(kubectl config current-context) --namespace=hono
+find . -path &quot;./eclipse-hono/*&quot; -name crd*.yaml -exec kubectl apply -f {} \;
+kubectl apply -f ./eclipse-hono -R
+</code></pre>
+
+<h2 id="verifying-the-installation">Verifying the Installation</h2>
+
+<p>Once deployment has completed, Hono&rsquo;s external API endpoints are exposed via corresponding Kubernetes <em>Services</em>.
+The following command lists all services and their endpoints (replace <code>hono</code> with the namespace that you have deployed to):</p>
+
+<pre><code class="language-sh">kubectl get service -n hono
+
+NAME                                    TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)
+eclipse-hono-grafana                    ClusterIP      10.98.116.21     &lt;none&gt;          3000/TCP
+eclipse-hono-kube-state-metrics         ClusterIP      10.111.143.45    &lt;none&gt;          8080/TCP
+eclipse-hono-prometheus-node-exporter   ClusterIP      10.99.123.105    &lt;none&gt;          9100/TCP
+eclipse-hono-prometheus-op-operator     ClusterIP      10.107.136.47    &lt;none&gt;          8080/TCP
+hono-adapter-amqp-vertx                 LoadBalancer   10.97.243.98     10.97.243.98    5672:32672/TCP,5671:32671/TCP
+hono-adapter-http-vertx                 LoadBalancer   10.104.162.33    10.104.162.33   8080:30080/TCP,8443:30443/TCP
+hono-adapter-kura                       LoadBalancer   10.110.31.68     10.110.31.68    1883:31884/TCP,8883:30884/TCP
+hono-adapter-mqtt-vertx                 LoadBalancer   10.103.97.233    10.103.97.233   1883:31883/TCP,8883:30883/TCP
+hono-artemis                            ClusterIP      10.105.129.3     &lt;none&gt;          5671/TCP
+hono-dispatch-router                    ClusterIP      10.107.34.77     &lt;none&gt;          5673/TCP
+hono-dispatch-router-ext                LoadBalancer   10.109.64.70     10.109.64.70    15671:30671/TCP,15672:30672/TCP
+hono-service-auth                       ClusterIP      10.103.101.106   &lt;none&gt;          5671/TCP
+hono-service-device-registry            ClusterIP      10.107.138.95    &lt;none&gt;          5671/TCP
+hono-service-device-registry-ext        LoadBalancer   10.107.214.87    10.107.214.87   28080:31080/TCP,28443:31443/TCP
+prometheus-operated                     ClusterIP      None             &lt;none&gt;          9090/TCP
+</code></pre>
+
+<p>The listing above has been retrieved from a Minikube cluster that emulates a load balancer via the <code>minikube tunnel</code> command (refer to the <a href="https://github.com/kubernetes/minikube/blob/master/docs/networking.md#loadbalancer-emulation-minikube-tunnel">Minikube Networking docs</a> for details).
+The service endpoints can be accessed at the <em>EXTERNAL-IP</em> addresses and corresponding <em>PORT(S)</em>, e.g. 8080 for the HTTP adapter (<em>hono-adapter-http-vertx</em>) and 28080 for the device registry (<em>hono-service-device-registry</em>).</p>
+
+<p>The following command assigns the IP address of the device registry service to the <code>REGISTRY_IP</code> environment variable so that they can easily be used from the command line:</p>
+
+<pre><code class="language-sh">export REGISTRY_IP=$(kubectl get service hono-service-device-registry-ext --output='jsonpath={.status.loadBalancer.ingress[0].ip}' -n hono)
+</code></pre>
+
+<p>The following command can then be used to check for the existence of the <em>DEFAULT_TENANT</em> which is created as part of the installation:</p>
+
+<pre><code class="language-sh">curl -sIX GET http://$REGISTRY_IP:28080/v1/tenants/DEFAULT_TENANT
+
+HTTP/1.1 200 OK
+etag: 89d40d26-5956-4cc6-b978-b15fda5d1823
+content-type: application/json; charset=utf-8
+content-length: 260
+</code></pre>
+
+<p><a name="dashboard"></a></p>
+
+<h2 id="accessing-the-grafana-dashboard">Accessing the Grafana Dashboard</h2>
+
+<p>Hono comes with an example Grafana dashboard which provides some insight into the messages flowing through the protocol adapters.
+The following command needs to be run first in order to forward the Grafana service&rsquo;s endpoint to the local host:</p>
+
+<pre><code class="language-sh">kubectl port-forward service/eclipse-hono-grafana 3000 -n hono
+</code></pre>
+
+<p>Then the dashboard can be opened by pointing a browser to <a href="http://localhost:3000">http://localhost:3000</a> using credentials <code>admin:admin</code>.</p>
+
+<h2 id="undeploying-hono">Undeploying Hono</h2>
+
+<p>A Hono instance that has been deployed using Helm&rsquo;s Tiller service can be undeployed by running</p>
+
+<pre><code class="language-sh">helm delete --purge eclipse-hono
+kubectl delete crd prometheuses.monitoring.coreos.com prometheusrules.monitoring.coreos.com servicemonitors.monitoring.coreos.com alertmanagers.monitoring.coreos.com
+</code></pre>
+
+<p>The additional <code>kubectl delete</code> command is necessary to remove <a href="https://github.com/helm/charts/tree/master/stable/prometheus-operator#uninstalling-the-chart">Prometheus operator CRDs</a>.</p>
+
+<p>If the Jaeger tracing component has been deployed, additional resources have to be deleted manually:</p>
+
+<pre><code class="language-sh">kubectl delete crd jaegers.jaegertracing.io
+kubectl delete svc -n hono eclipse-hono-jaeger-operator
+</code></pre>
+
+<p>A Hono instance that has been deployed manually using the resource files can be undeployed by running</p>
+
+<pre><code class="language-sh"># in directory: eclipse-hono-$VERSION/deploy/
+kubectl delete -f ./eclipse-hono -R
+</code></pre>
+
+<h2 id="deploying-custom-container-images">Deploying custom Container Images</h2>
+
+<p>The sections above describe how Hono&rsquo;s pre-built container images can be deployed using Helm. In some cases it might be desirable to build Hono from source, e.g. in order to use a different metrics back end or to <a href="#deploying-jaeger">enable Jaeger tracing</a>. In these cases, the Helm templates contained in the source tree can be used instead of the Helm chart from the download page.</p>
+
+<p>The container images created as part of the build process need to be made available to the Kubernetes cluster that Hono should be deployed to. This usually requires the images to be pushed to a (private) container registry that the cluster has pull access to. Please refer to the documentation of the employed Kubernetes service provider for details regarding the setup and configuration of a private container registry.</p>
+
+<h3 id="deploying-via-a-private-registry">Deploying via a private Registry</h3>
+
+<p>The first step is getting the source code of Hono. Please refer to <a href="/hono/docs/dev/dev-guide/building_hono/">Building from Source</a> for details.
+Once the source code has been retrieved, the build process can be started using the following command:</p>
+
+<pre><code class="language-sh"># in base directory of Hono working tree:
+mvn clean install -Pbuild-docker-image,metrics-prometheus
+</code></pre>
+
+<p>After the build process has finished, the custom container images need to be pushed to the registry so that the Kubernetes cluster can pull them from there during deployment.
+Assuming that the images should be tagged with <code>1.0-CUSTOM</code> and the container registry name is <code>my.registry.io</code>, the following command can be used to tag the locally built images and push them to the registry:</p>
+
+<pre><code class="language-sh"># in base directory of Hono working tree:
+./push_hono_images.sh 1.0-CUSTOM my.registry.io
+</code></pre>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>You may need to log in to the (private) container registry before pushing the images.</div>
+</div>
+
+
+<p>Once the images have been pushed, the deployment can be done using Helm:</p>
+
+<pre><code class="language-sh"># in Hono working tree directory: hono/deploy
+helm install --dep-up --name eclipse-hono --namespace hono --set honoContainerRegistry=my.registry.io target/deploy/helm/
+</code></pre>
+
+<h3 id="deploying-to-minikube">Deploying to Minikube</h3>
+
+<p>When using Minikube as the deployment target, things are a little easier. Minikube comes with an embedded Docker daemon which can be used to build the container images instead of using a local Docker daemon, thus eliminating the need to push the images to a registry altogether.
+In order to use Minikube&rsquo;s Docker daemon, the following command needs to be run:</p>
+
+<pre><code class="language-sh">eval $(minikube docker-env)
+</code></pre>
+
+<p>This will set the Docker environment variables to point to Minikube&rsquo;s Docker daemon which can then be used for building the container images and storing them locally in the Minikube VM.</p>
+
+<p>In any case the build process can be started using the following command:</p>
+
+<pre><code class="language-sh"># in base directory of Hono working tree:
+mvn clean install -Pbuild-docker-image,metrics-prometheus
+</code></pre>
+
+<p>The newly built images can then be deployed using Helm:</p>
+
+<pre><code class="language-sh"># in Hono working tree directory: hono/deploy
+helm install --dep-up --name eclipse-hono --namespace hono target/deploy/helm/
+</code></pre>
+
+<h2 id="deploying-jaeger">Deploying Jaeger</h2>
+
+<p>In order to deploy the Jaeger tracing component along with Hono, first make sure that the Hono container images have been built with the Jaeger client included.
+This is done by activating the <code>jaeger</code> Maven profile, see <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/#configuring-usage-of-jaeger-tracing-included-in-docker-images">Monitoring &amp; Tracing</a>.
+The deployment can then be done using the <code>jaeger.enabled=true</code> option when running Helm:</p>
+
+<pre><code class="language-sh"># in Hono working tree directory: hono/deploy
+helm install --dep-up --name eclipse-hono --set jaeger.enabled=true --namespace hono target/deploy/helm/
+</code></pre>
+
+<p>For more information on how to access the Jaeger UI, see the <a href="https://github.com/jaegertracing/jaeger-operator#accessing-the-ui">Jaeger Operator documentation</a>.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/deployment/index.html b/docs/dev/deployment/index.html
new file mode 100644
index 0000000..7768b71
--- /dev/null
+++ b/docs/dev/deployment/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Deployment :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Deployment :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Deployment :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/deployment//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/deployment/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/deployment/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/deployment/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > Deployment
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="deployment">Deployment</h1>
+
+<p>Learn how to deploy Hono&trade; to different container orchestration platforms.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/deployment/index.xml b/docs/dev/deployment/index.xml
new file mode 100644
index 0000000..7c2275d
--- /dev/null
+++ b/docs/dev/deployment/index.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Deployment on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/deployment/</link>
+    <description>Recent content in Deployment on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/deployment/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Helm based Deployment</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/</guid>
+      <description>&lt;p&gt;Eclipse Hono&amp;trade;&amp;rsquo;s components are provided as container images which can be run on arbitrary container orchestration platforms.
+This page describes the steps necessary to deploy Hono to a &lt;a href=&#34;https://kubernetes.io&#34;&gt;Kubernetes&lt;/a&gt; cluster using the &lt;a href=&#34;https://helm.sh&#34;&gt;Helm package manager&lt;/a&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>OpenShift / OKD</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/openshift/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/openshift/</guid>
+      <description>&lt;p&gt;This guide describes how Eclipse Hono™ can be deployed on OpenShift with
+EnMasse, using the source-to-image (S2I) way. Using this approach, it is possible
+to customize and refresh the base images where Hono runs in. It also uses
+a more complex, multi-project setup and separates EnMasse and Grafana from
+the core Hono project.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Setting up a Kubernetes Cluster</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/</guid>
+      <description>&lt;p&gt;This guide describes how to set up a Kubernetes cluster which can be used to run Eclipse Hono.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Limiting Resource Usage</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/</guid>
+      <description>&lt;p&gt;Deploying Eclipse Hono&amp;trade; to a container orchestration platform is easy thanks to the provided Docker images. This page provides some guidance for configuring the resource consumption of these containers in order to make sure that they get enough memory and CPU to run properly, but to also make sure that individual containers do not use up all the resources causing other containers to starve.&lt;/p&gt;</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/deployment/openshift/index.html b/docs/dev/deployment/openshift/index.html
new file mode 100644
index 0000000..721fec6
--- /dev/null
+++ b/docs/dev/deployment/openshift/index.html
@@ -0,0 +1,3039 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>OpenShift / OKD :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="OpenShift / OKD :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="OpenShift / OKD :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/deployment/openshift//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/deployment/openshift/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item active">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/deployment/openshift/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/deployment/openshift/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/openshift.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/deployment/'>Deployment</a> > OpenShift / OKD
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#prerequisites">Prerequisites</a>
+<ul>
+<li><a href="#assumptions">Assumptions</a></li>
+<li><a href="#linux-like-environment">Linux like environment</a></li>
+<li><a href="#openshift-origin-client-tools">OpenShift Origin client tools</a></li>
+<li><a href="#minishift">Minishift</a></li>
+<li><a href="#operator-lifecycle-manager">Operator Lifecycle Manager</a></li>
+<li><a href="#persistent-volumes">Persistent volumes</a>
+<ul>
+<li><a href="#minishift-1">Minishift</a></li>
+<li><a href="#local">Local</a></li>
+<li><a href="#nfs">NFS</a></li>
+</ul></li>
+<li><a href="#ability-to-create-new-projects">Ability to create new projects</a></li>
+<li><a href="#certificates">Certificates</a></li>
+</ul></li>
+<li><a href="#clone-the-hono-repository">Clone the Hono repository</a></li>
+<li><a href="#setting-up-enmasse">Setting up EnMasse</a></li>
+<li><a href="#setting-up-hono">Setting up Hono</a></li>
+<li><a href="#enabling-metrics">Enabling metrics</a>
+<ul>
+<li><a href="#adding-prometheus-support">Adding Prometheus support</a></li>
+<li><a href="#setting-up-grafana">Setting up Grafana</a></li>
+</ul></li>
+<li><a href="#configuring-the-installation">Configuring the installation</a>
+<ul>
+<li><a href="#configure-maximum-number-of-devices-per-tenant">Configure maximum number of devices per tenant</a></li>
+<li><a href="#adding-jaeger-support">Adding Jaeger support</a>
+<ul>
+<li><a href="#enable-the-build-profile">Enable the build profile</a></li>
+<li><a href="#add-the-jaeger-agent-sidecar">Add the Jaeger agent sidecar</a></li>
+<li><a href="#deploy-jaeger">Deploy Jaeger</a></li>
+</ul></li>
+</ul></li>
+<li><a href="#using-the-installation">Using the installation</a>
+<ul>
+<li><a href="#extract-certificates">Extract certificates</a></li>
+<li><a href="#running-consumer">Running consumer</a></li>
+<li><a href="#register-device">Register device</a></li>
+<li><a href="#uploading-telemetry-with-http">Uploading Telemetry with HTTP</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>OpenShift / OKD</h1>
+          
+
+        
+
+
+<p>This guide describes how Eclipse Hono™ can be deployed on OpenShift with
+EnMasse, using the source-to-image (S2I) way. Using this approach, it is possible
+to customize and refresh the base images where Hono runs in. It also uses
+a more complex, multi-project setup and separates EnMasse and Grafana from
+the core Hono project.</p>
+
+<div class="alert alert-warning">
+    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Use for demos only</h4>
+    <div><p>While this deployment model is closer to a production-ready deployment
+it still is missing some important aspects, so please do use this only as a
+base for your setup or as a demo setup. The following topics are currently
+not covered by this example deployment:</p>
+
+<ul>
+<li>Integration between EnMasse and Hono authentication</li>
+<li>Use your own versions of the device registry and authorization service</li>
+</ul>
+
+<p>These are all subjects to current and future developments in this area. This
+document will be updated accordingly with the progress.</p>
+</div>
+</div>
+
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<p>In order to work through this example deployment you will need the OpenShift
+client tools installed. Please align the version of the client tools with
+the version of your OpenShift cluster. This guide was tested with
+OpenShift 3.11.0. It might work with older or newer versions as well, but that
+is untested.</p>
+
+<h3 id="assumptions">Assumptions</h3>
+
+<p>This tutorial makes the following assumptions about your environment, if those
+assumptions are not true in your specific environment you will need to adapt
+the following instructions:</p>
+
+<ul>
+<li>The admin URL of your OpenShift cluster is: <code>https://my-cluster:8443</code></li>
+<li>The name of your OpenShift user is <code>developer</code></li>
+<li>All scripts and paths are relative to the folder
+<code>deploy/src/main/deploy/openshift</code></li>
+<li>Some parts of this tutorial may need <em>cluster admin</em> privileges. When cluster
+admin privileges are required, the tutorial will indicate this by the command
+<code>oc login -u admin</code>. It will indicate the end of a section requiring cluster
+admin privileges by the command <code>oc login -u developer</code>.
+<br /></li>
+</ul>
+
+<p><strong>Note:</strong> Those command may be different on your installation. They only act
+  as an example.</p>
+
+<h3 id="linux-like-environment">Linux like environment</h3>
+
+<p>The deployment guide assumes that you have a Linux like environment with things
+like <code>bash</code>, <code>curl</code>, <code>git</code>, … Mac OS X 10.13+ works as well, Windows with
+some kind of Unix tooling should also be possible.</p>
+
+<h3 id="openshift-origin-client-tools">OpenShift Origin client tools</h3>
+
+<p>The client tools can be downloaded from the
+<a href="https://github.com/openshift/origin/releases">OpenShift Origin</a> project
+repository. Simply download the archive, unpack it and drop it into a directory
+where it can be found by the local PATH lookup.</p>
+
+<h3 id="minishift">Minishift</h3>
+
+<p>This tutorial is targeted towards running Hono on a production-ready OpenShift
+cluster. However it still is possible and useful to run the same setup on
+a local test cluster with &ldquo;minishift&rdquo;.</p>
+
+<p>Minishift is a tool that helps you run OpenShift locally by running a
+single-node OpenShift cluster inside a VM. Follow
+<a href="https://docs.openshift.org/latest/minishift/getting-started/index.html">this guide</a>
+for installing and having Minishift up and running.</p>
+
+<p>The default resource limits for Minishift however are to small, so please
+ensure that you are running Minishift with the following settings:</p>
+
+<pre><code>minishift start --cpus 4 --memory 16GB --disk-size 40GB
+</code></pre>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Resource limits</h4>
+    <div>Once you created your Minishift cluster instance with <code>minishift start</code> the
+resource arguments (like <code>--cpus</code>) are ignored in future calls to
+<code>minishift start</code> as the virtual machine has already been created. You will
+need to destroy the instance using <code>minishift delete</code> before it will accept
+the new resource limits.</div>
+</div>
+
+
+<p>When using minishift you can find your cluster URL by executing the following
+command:</p>
+
+<pre><code>minishift console --url
+</code></pre>
+
+<p>Some of the operations may require <em>cluster admin</em> privileges. For minishift
+an admin user can be created by executing the following commands, having a
+running minishift instance:</p>
+
+<pre><code>minishift addons apply admin-user
+</code></pre>
+
+<p>This will create a user named <code>admin</code>, with a password of <code>admin</code>, that has
+cluster admin privileges.</p>
+
+<h3 id="operator-lifecycle-manager">Operator Lifecycle Manager</h3>
+
+<p>A simple way to install additional operators in your cluster is via the
+<a href="https://github.com/operator-framework/operator-lifecycle-manager">Operator Lifecycle Manager</a> (aka OLM).
+It can be enabled in OpenShift 3.11+ by setting <code>openshift_enable_olm=true</code>
+in the Ansible inventory file.</p>
+
+<p>For Minishift, it can be enabled by execute the following commands as
+cluster admin:</p>
+
+<pre><code>git clone https://github.com/operator-framework/operator-lifecycle-manager
+cd operator-lifecycle-manager
+
+oc login -u admin
+oc new-project operator-lifecycle-manager
+oc create -f deploy/okd/manifests/latest/
+oc login -u developer
+</code></pre>
+
+<p>See also: <a href="https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/install/install.md">https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/install/install.md</a></p>
+
+<p>This guide will use OLM in order to install the optional
+<a href="https://github.com/coreos/prometheus-operator">Prometheus Operator</a>,
+which enables the aggregation of metrics from different Hono components.</p>
+
+<h3 id="persistent-volumes">Persistent volumes</h3>
+
+<p>You will need two persistent volumes for this deployment. The default
+required volumes are:</p>
+
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th align="right">Size</th>
+<th>Purpose</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td>hono-pv</td>
+<td align="right">128 Mi</td>
+<td>Storing device registry information</td>
+</tr>
+
+<tr>
+<td>grafana-pv</td>
+<td align="right">1 Gi</td>
+<td>Grafana configuration database</td>
+</tr>
+</tbody>
+</table>
+
+<p>In the folder <code>admin/storage</code> you will find a set of sub folders containing
+YAML files for setting up the persistent volumes (PVs). As there are multiple
+storage providers available you need to choose <strong>only one</strong> and must modify it
+to match your OpenShift setup (see the following subsections).</p>
+
+<p>It may also be possible that your cluster supports automatic provisioning of
+storage, in this case you don&rsquo;t need to create PVs explicitly.</p>
+
+<p>The PVs can be created by executing the following command with a user that
+has cluster wide privileges:</p>
+
+<pre><code>oc create -f admin/storage/&lt;type&gt;/grafana-pv.yml
+oc create -f admin/storage/&lt;type&gt;/hono-pv.yml
+</code></pre>
+
+<h4 id="minishift-1">Minishift</h4>
+
+<p>When you are running minishift, then you have automatic provisioning for PVs
+available. There is no need to create any PVs manually.</p>
+
+<h4 id="local">Local</h4>
+
+<p>In the <code>admin/storage/local</code> folder you will find YAML files for setting up
+local storage volumes. Those volumes will be kept available when pods are
+restarted, but are only available on he local disk of a node. So pods can
+only run on this single node and not be migrated throughout a cluster.</p>
+
+<p>If you have a single node cluster anyway, it might still be an easy option.</p>
+
+<p>You will need to change the field <code>.spec.hostPath.path</code> to point to an
+existing directory which grants all access to &ldquo;other&rdquo; (<code>chmod a+rwx .</code>).</p>
+
+<p>The storage capacity will only be used for matching PVs with PVCs and is not
+being enforced with this storage type.</p>
+
+<h4 id="nfs">NFS</h4>
+
+<p>The folder <code>admin/storage/nfs</code> contains a set of YAML files for setting up
+NFS based PVs. For this to work you will need a running NFS server and set up
+proper exports. It is possible to re-use the NFS server of your OpenShift
+installation if you already have one.</p>
+
+<p>You will need to change the following fields:</p>
+
+<ul>
+<li><code>.spec.nfs.server</code> – Hostname of the NFS server</li>
+<li><code>.spec.nfs.path</code> – The name of the exported path</li>
+</ul>
+
+<div class="alert alert-warning">
+    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Don&#39;t use in production</h4>
+    <div>Applications running of top of NFS may have issues with things like file locking
+behavior, …. So it isn&rsquo;t recommended to use NFS without proper testing and
+ensuring that it works the way you expect it. If you accept the risk of
+corrupted data, it might still be a simple setup for testing a multi-node setup.</div>
+</div>
+
+
+<p>Also see: <a href="https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_nfs.html">https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_nfs.html</a></p>
+
+<h3 id="ability-to-create-new-projects">Ability to create new projects</h3>
+
+<p>The following guide requires three projects in the OpenShift cluster. It still
+is possible to modify the deployment to deploy to a single project, however this
+guide focuses on a setup having multiple projects.</p>
+
+<p>If you don&rsquo;t have permissions to create new projects yourself, then you will
+need to request three projects. The guide expects the projects names to be:</p>
+
+<ul>
+<li><code>enmasse</code> – Hosting the EnMasse components.</li>
+<li><code>hono</code> – For running Eclipse Hono.</li>
+<li><code>grafana</code> – For running an instance of Grafana. Primarily
+           for showing Hono dashboards.</li>
+</ul>
+
+<p>Those projects must be allowed to perform internal communication.</p>
+
+<p>If projects will be created for you, then you can ignore the
+calls to <code>oc new-project</code> in the following sections.</p>
+
+<h3 id="certificates">Certificates</h3>
+
+<p>Certificates are a difficult topic, as every components brings in its own
+concept about how certificates are handled. This deployment guide tries to
+align everything with OpenShifts capabilities of managing certificates. That
+means that internal communication tries to use cluster generated certificates,
+signed by the cluster CA. And externally it tries to re-use the OpenShift
+router certificates, which are provided during the installation of OpenShift.
+One exception to that are the AMQP and MQTT protocols. As those currently
+cannot be re-encrypted.</p>
+
+<p>If you deploy OpenShift without proper certificates, then you will automatically
+have self-signed certificates. In this case it is required to disable e.g.
+hostname validation later on. This deployment guide assumes that you have
+proper certificates set up, and will try to assist if that is not the case.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Let&#39;s encrypt</h4>
+    <div>As <a href="https://letsencrypt.org/">Let&rsquo;s encrypt</a> now supports wildcard certificates,
+having proper certificates may only be a few commands away for you.</div>
+</div>
+
+
+<p>In general, <code>curl</code> commands require the parameter <code>--insecure</code> in order to
+work with self-signed certificates.</p>
+
+<div class="alert alert-warning">
+    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Mac OS X 10.13&#43;</h4>
+    <div><p>The <code>curl</code> binary on Mac OS X before 10.13 suffers from an issue with TLS SNI.
+Also see: <a href="https://github.com/curl/curl/issues/1533">https://github.com/curl/curl/issues/1533</a></p>
+
+<p>As the use of SNI is required for Kubernetes/OpenShift, when it comes to routing
+requests to services, it is not possible to use the provided version of
+<code>curl</code> on Mac OS X before 10.13.</p>
+
+<p>You can install a working <code>curl</code> version using in those Mac OS X released with
+the following commands:</p>
+
+<pre><code>brew install curl --with-openssl
+</code></pre>
+
+<p>Or upgrade your existing installation using:</p>
+
+<pre><code>brew reinstall curl --with-openssl
+</code></pre>
+
+<p>Or use proper certificates.</p>
+</div>
+</div>
+
+
+<h2 id="clone-the-hono-repository">Clone the Hono repository</h2>
+
+<p>In order to have access to some of the requires scripts and resource of this
+deployment guide, you will need to clone the Hono repository to your local
+machine. You can do this with the following command:</p>
+
+<pre><code>git clone https://github.com/eclipse/hono.git
+</code></pre>
+
+<p>Or if you want to check out a specific branch (e.g. <code>0.9.x</code>):</p>
+
+<pre><code>git clone -b 0.9.x https://github.com/eclipse/hono.git
+</code></pre>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Different branches</h4>
+    <div><p>This deployment description is based on the master branch of Hono. However this
+branch is also the current development and may be unstable at times.</p>
+
+<p>If you experience any problems, it is
+recommended to switch to a release branch (e.g. <code>0.9.x</code>) instead of using
+the default master branch. However this documentation is only published from
+the master branch, so there may be inconsistencies between the repository
+content and the documentation. In this case you can read through <code>index.md</code>
+file, checked out from the branch you cloned. The file is located in the
+directory <code>hono-site/content/deployment/openshift</code>.</p>
+</div>
+</div>
+
+
+<h2 id="setting-up-enmasse">Setting up EnMasse</h2>
+
+<p>This section describes how to install EnMasse, the messaging layer which Hono is
+based on.</p>
+
+<p>Start by downloading and unpacking EnMasse:</p>
+
+<pre><code>curl -LO https://github.com/EnMasseProject/enmasse/releases/download/0.25.0/enmasse-0.25.0.tgz
+tar xzf enmasse-0.25.0.tgz
+</code></pre>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Other versions</h4>
+    <div>Other versions of EnMasse might work as well, but are untested by this deployment
+guide. Unless you explicitly want to try out a different version, it is
+recommended to use to the version documented in this tutorial.</div>
+</div>
+
+
+<p>First switch to a user with <em>cluster admin</em> privileges, e.g.:</p>
+
+<pre><code>oc login -u admin
+</code></pre>
+
+<p>Then create a new project:</p>
+
+<pre><code>oc new-project enmasse-infra --display-name='EnMasse'
+</code></pre>
+
+<p>And perform the deployment:</p>
+
+<pre><code>oc apply -f enmasse-0.25.0/install/bundles/enmasse-with-standard-authservice
+</code></pre>
+
+<p>Wait for the admin console to completely start up. You can check this with
+the following command:</p>
+
+<pre><code>oc get deploy/api-server deploy/keycloak
+</code></pre>
+
+<p>Verify that the &ldquo;AVAILABLE&rdquo; column shows &ldquo;1&rdquo;:</p>
+
+<pre><code>NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
+api-server   1         1         1            1           1m
+keycloak     1         1         1            1           1m
+</code></pre>
+
+<p>Finally switch back to your normal application user:</p>
+
+<pre><code>oc login -u developer
+</code></pre>
+
+<h2 id="setting-up-hono">Setting up Hono</h2>
+
+<p>Start by creating a new project using:</p>
+
+<pre><code>oc new-project hono --display-name='Eclipse Hono™'
+</code></pre>
+
+<p>Then create the EnMasse address space to use:</p>
+
+<pre><code>oc create -f hono-address-space.yml
+</code></pre>
+
+<p>Before proceeding to the next step, ensure that the address space has been
+created and is ready. Executing the following command should contain
+<code>Is Ready: true</code> in the status section:</p>
+
+<pre><code>oc describe addressspace/default
+</code></pre>
+
+<p>You can also quickly check for <code>isReady</code> with a JSON path query:</p>
+
+<pre><code>oc get addressspace/default -o jsonpath='{.status.isReady}'
+</code></pre>
+
+<p>Then process and execute the main Hono template in order to deploy the
+Hono services:</p>
+
+<pre><code>oc process -f hono-template.yml | oc create -f -
+</code></pre>
+
+<p>OpenShift templates allow to use <em>parameters</em> which can customize provided
+templates. If you want to specify template parameters from the command line
+use the following syntax:</p>
+
+<pre><code>oc process -f hono-template.yml \
+  -p GIT_REPOSITORY=https://github.com/your/hono.git \
+  -p GIT_BRANCH=0.9.x| oc create -f -
+</code></pre>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Align branches</h4>
+    <div><p>By default the Hono template uses the <code>master</code> branch for deploying Hono. As
+this branch might be unstable this may not be what you are looking for, but it
+also is the default branch of the Hono Git repository where you checked out
+the deployment template.</p>
+
+<p>It is recommended that when you execute the guide from an alternate branch
+(e.g. <code>0.9.x</code>) that you also pass the same branch as <code>GIT_BRANCH</code> to the
+template.</p>
+</div>
+</div>
+
+
+<p>And register the template for creating new Hono tenants. This only registers
+the template, but does not create a new tenant yet:</p>
+
+<pre><code>oc create -f hono-tenant-template.yml
+</code></pre>
+
+<p>Next you will need to create a tenant, execute the following command to create
+the <em>default tenant</em>:</p>
+
+<pre><code>oc process hono-tenant HONO_TENANT_NAME=DEFAULT_TENANT RESOURCE_NAME=defaulttenant CONSUMER_USER_NAME=consumer CONSUMER_USER_PASSWORD=&quot;$(echo -n verysecret | base64)&quot;| oc create -f -
+</code></pre>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Creating tenants</h4>
+    <div>Creating a new tenant using the template currently only creates the necessary
+resources in EnMasse for the tenant. It does not create the tenant in the Hono
+device registry.</div>
+</div>
+
+
+<h2 id="enabling-metrics">Enabling metrics</h2>
+
+<p>The default OpenShift deployment of Hono does support the use of Prometheus as
+a metrics backend. However it is still required to deploy an instance of
+Prometheus and Grafana to your installation in order to actually gather and
+visualize the metrics.</p>
+
+<h3 id="adding-prometheus-support">Adding Prometheus support</h3>
+
+<p>This section will explain how to set up Prometheus via the OLM and the
+Prometheus Operator. This is only an example, it is possible to install
+Prometheus in different ways. Or skip the installation of Prometheus, if you
+want to use a different metrics backend.</p>
+
+<p>Run the following commands to register the prometheus operator and create a
+new instance:</p>
+
+<pre><code>oc project hono
+oc create -f ../resource-descriptors/prometheus/operator.yml
+oc create -f ../resource-descriptors/prometheus/instance.yml
+</code></pre>
+
+<h3 id="setting-up-grafana">Setting up Grafana</h3>
+
+<p>Start by creating a new project using:</p>
+
+<pre><code>oc new-project grafana --display-name='Grafana Dashboard'
+</code></pre>
+
+<p>Create the config resources:</p>
+
+<pre><code>oc create configmap grafana-provisioning-dashboards --from-file=../../config/grafana/provisioning/dashboards
+oc create configmap grafana-dashboard-defs --from-file=../../config/grafana/dashboard-definitions
+oc label configmap grafana-provisioning-dashboards app=hono-metrics
+oc label configmap grafana-dashboard-defs app=hono-metrics
+</code></pre>
+
+<p>Then deploy the Grafana instance using:</p>
+
+<pre><code>oc process -f grafana-template.yml \
+  -p ADMIN_PASSWORD=admin | oc create -f -
+</code></pre>
+
+<p>OpenShift templates allow to use <em>parameters</em> which can customize provided
+templates. If you want to specify template parameters from the command line
+use the following syntax:</p>
+
+<pre><code>oc process -f grafana-template.yml \
+  -p ADMIN_PASSWORD=admin \
+  -p HONO_NAMESPACE=hono \
+  -p GIT_REPOSITORY=https://github.com/your/hono.git \
+  -p GIT_BRANCH=0.9.x| oc create -f -
+</code></pre>
+
+<h2 id="configuring-the-installation">Configuring the installation</h2>
+
+<p>The default installation of Hono can be tweaked in a few ways. The following
+sub-sections describe a few aspects that can be modified.</p>
+
+<h3 id="configure-maximum-number-of-devices-per-tenant">Configure maximum number of devices per tenant</h3>
+
+<p>The default settings for the example Hono device registry limit the number of
+devices to 100 per tenant. If this is not enough for your setup you can change
+the setting by executing the following command, which will increase the number
+to 10.000 devices per tenant:</p>
+
+<pre><code>oc set env -n hono dc/hono-service-device-registry HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT=10000
+</code></pre>
+
+<h3 id="adding-jaeger-support">Adding Jaeger support</h3>
+
+<p>By default Hono has the capability to work with OpenTracing, and it also
+provides a build profile for enabling the &ldquo;Jaeger&rdquo; implementation of
+OpenTracing.</p>
+
+<p>There are a few manual steps required to modify the default Hono deployment
+for OpenShift in order to enable this profile.</p>
+
+<h4 id="enable-the-build-profile">Enable the build profile</h4>
+
+<p>The Hono profile needs to be enabled, to include the Jaeger components in the
+S2I builds.</p>
+
+<p>Modify the Hono templates to add the <code>jaeger</code> profile in the builds. e.g.:</p>
+
+<pre><code class="language-diff">           name: fabric8-s2i-java-custom:2.3
+         env:
+         - name: MAVEN_ARGS_APPEND
+-          value: -B -pl org.eclipse.hono:hono-adapter-mqtt-vertx --also-make -Pnetty-tcnative
++          value: -B -pl org.eclipse.hono:hono-adapter-mqtt-vertx --also-make -Pnetty-tcnative -Pjaeger
+         - name: ARTIFACT_DIR
+           value: adapters/mqtt-vertx/target
+         - name: ARTIFACT_COPY_ARGS
+</code></pre>
+
+<p>Be sure to trigger new builds if you already built the container images before.</p>
+
+<h4 id="add-the-jaeger-agent-sidecar">Add the Jaeger agent sidecar</h4>
+
+<p>In order to add capture output from the Jaeger client and forward it to the
+main Jaeger application, a Jaeger agent is required. This will be deployed
+alongside each Hono service, as a dedicated container, but in the same pod
+(aka sidecar).</p>
+
+<p>This requires a new image stream:</p>
+
+<pre><code class="language-yml">kind: ImageStream
+apiVersion: v1
+metadata:
+  name: jaeger-agent
+spec:
+  lookupPolicy:
+    local: false
+  tags:
+  - name: &quot;latest&quot;
+    from:
+      kind: DockerImage
+      name: docker.io/jaegertracing/jaeger-agent:latest
+    importPolicy:
+      scheduled: true
+    referencePolicy:
+      type: Source
+</code></pre>
+
+<p>Then you need to modify the deployment configuration for each Hono service that
+should use the Jaeger agent:</p>
+
+<pre><code class="language-diff"> - kind: DeploymentConfig
+   apiVersion: v1
+   metadata:
+     name: hono-adapter-mqtt-vertx
+     labels:
+       app: hono-adapter
+       deploymentconfig: hono-adapter-mqtt-vertx
+   spec:
+     replicas: 1
+     selector:
+       app: hono-adapter
+       deploymentconfig: hono-adapter-mqtt-vertx
+     strategy:
+       type: Rolling
+       rollingParams:
+         timeoutSeconds: 3600
+     triggers:
+       - type: ConfigChange
+       - type: ImageChange
+         imageChangeParams:
+           automatic: true
+           containerNames:
+             - eclipsehono-hono-adapter-mqtt-vertx
+           from:
+             kind: ImageStreamTag
+             name: hono-adapter-mqtt-vertx:latest
++      - type: ImageChange
++        imageChangeParams:
++          automatic: true
++          containerNames:
++            - jaeger-agent
++          from:
++            kind: ImageStreamTag
++            name: jaeger-agent:latest
+     template:
+       metadata:
+         labels:
+           app: hono-adapter
+           deploymentconfig: hono-adapter-mqtt-vertx
+       spec:
+         containers:
+         - name: eclipsehono-hono-adapter-mqtt-vertx
+           image: hono-adapter-mqtt-vertx
+           imagePullPolicy: Always
+           env:
+           - name: SPRING_CONFIG_LOCATION
+             value: file:///etc/config/
+           - name: SPRING_PROFILES_ACTIVE
+             value: 
+           - name: LOGGING_CONFIG
+             value: file:///etc/config/logback-spring.xml
+           - name: KUBERNETES_NAMESPACE
+             valueFrom:
+               fieldRef:
+                 fieldPath: metadata.namespace
+           - name: HONO_MESSAGING_HOST
+             valueFrom:
+               configMapKeyRef:
+                 name: hono-configuration
+                 key: downstream.host
+           - name: HONO_MESSAGING_PORT
+             valueFrom:
+               configMapKeyRef:
+                 name: hono-configuration
+                 key: downstream.port
+           - name: HONO_COMMAND_HOST
+             valueFrom:
+               configMapKeyRef:
+                 name: hono-configuration
+                 key: downstream.host
+           - name: HONO_COMMAND_PORT
+             valueFrom:
+               configMapKeyRef:
+                 name: hono-configuration
+                 key: downstream.port
+           - name: HONO_REGISTRATION_HOST
+             value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc
+           - name: HONO_CREDENTIALS_HOST
+             value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc
+           - name: HONO_TENANT_HOST
+             value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc
+           - name: MANAGEMENT_METRICS_EXPORT_GRAPHITE_HOST
+             value: influxdb.$(KUBERNETES_NAMESPACE).svc
+           - name: AB_JOLOKIA_USER
+             value: jolokia
+           - name: AB_JOLOKIA_PASSWORD_RANDOM
+             value: &quot;false&quot;
+           - name: AB_JOLOKIA_PASSWORD
+             valueFrom:
+               secretKeyRef:
+                 name: hono-secrets
+                 key: jolokia.password
+           readinessProbe:
+             httpGet:
+               path: /readiness
+               port: 8088
+               scheme: HTTPS
+             initialDelaySeconds: 10
+           livenessProbe:
+             httpGet:
+               path: /liveness
+               port: 8088
+               scheme: HTTPS
+             initialDelaySeconds: 180
+           resources:
+             limits:
+               memory: 512Mi
+           ports:
+           - containerPort: 8778 
+             name: jolokia
+           - containerPort: 8088
+             name: radan-http
+             protocol: TCP
+           - containerPort: 8883
+             name: secure-mqtt
+             protocol: TCP
+           - containerPort: 1883
+             name: mqtt
+             protocol: TCP
+           securityContext:
+             privileged: false
+           volumeMounts:
+           - mountPath: /etc/config
+             name: conf
+           - mountPath: /etc/secrets
+             name: secrets
+             readOnly: true
+           - mountPath: /etc/tls
+             name: tls
+             readOnly: true
++        - image: jaeger-agent
++          name: jaeger-agent
++          ports:
++          - containerPort: 5775
++            protocol: UDP
++          - containerPort: 5778
++          - containerPort: 6831
++            protocol: UDP
++          - containerPort: 6832
++            protocol: UDP
++          command:
++            - &quot;/go/bin/agent-linux&quot;
++            - &quot;--collector.host-port=jaeger-collector.jaeger.svc:14267&quot;
++          env:
++            - name: JAEGER_SERVICE_NAME
++              value: hono-adapter-mqtt
+         volumes:
+         - name: conf
+           configMap:
+             name: hono-adapter-mqtt-vertx-config
+         - name: secrets
+           secret:
+             secretName: hono-mqtt-secrets
+         - name: tls
+           secret:
+             secretName: hono-adapter-mqtt-vertx-tls
+</code></pre>
+
+<p>The important parts are only the modifications, which add a new image stream
+trigger, and also add the additional agent container to the deployment. This
+example assumes that the Jaeger collector will be available at the hostname
+<code>jaeger-collector.jaeger.svc</code>. This will be true if you follow the next
+section on deploying a development-only Jaeger cluster. Should you deploy
+Jaeger differently, then this hostname and/or port may be different.</p>
+
+<h4 id="deploy-jaeger">Deploy Jaeger</h4>
+
+<p>Setting up a full Jaeger cluster is a complicated task. However there is a good
+tutorial at the Jaeger repository at: <a href="https://github.com/jaegertracing/jaeger-openshift">https://github.com/jaegertracing/jaeger-openshift</a></p>
+
+<p>A simple deployment, for testing purposes only, can be performed by running
+the development setup template of Jaeger for OpenShift:</p>
+
+<pre><code>oc new-project jaeger
+oc process -f https://raw.githubusercontent.com/jaegertracing/jaeger-openshift/master/all-in-one/jaeger-all-in-one-template.yml | oc create -f -
+</code></pre>
+
+<p>Please be aware of the official note in the <a href="https://github.com/jaegertracing/jaeger-openshift#development-setup">documentation</a>:</p>
+
+<blockquote>
+<p>This template uses an in-memory storage with a limited functionality for local testing and development. Do not use this template in production environments.</p>
+</blockquote>
+
+<h2 id="using-the-installation">Using the installation</h2>
+
+<p>All following examples make use of the running Hono instance. They pretty much
+follow the other examples. Please note that, compared to the more simple
+OpenShift deployment, in this case we need to take care of different project
+names when looking up route host names via <code>oc get</code>. You can use the command
+line argument <code>-n &lt;project&gt;</code> to specify the project name without changing the
+default selected project.</p>
+
+<p>All examples in the following sub-sections assume that you are located in the
+<code>cli</code> directory.</p>
+
+<h3 id="extract-certificates">Extract certificates</h3>
+
+<p>In order to connect the external consumer to Enmasse, we need to extract the
+certificate which messaging endpoint of EnMasse uses. This allows to validate
+the connection to the endpoint and encrypt the communication using TLS.</p>
+
+<p>The following command extracts the certificate of the endpoint (not the key):</p>
+
+<pre><code>oc -n hono get addressspace default -o jsonpath={.status.endpointStatuses[?(@.name==\'messaging\')].cert} | base64 -d &gt; target/config/hono-demo-certs-jar/tls.crt
+</code></pre>
+
+<p>This will retrieve the certificate, decode the base64 encoded string and
+store it in the file <code>target/config/hono-demo-certs-jar/tls.crt</code>. Although
+the file is a &ldquo;demo cert&rdquo; as the path might indicate, it still is stored in
+the same location in order to align the with the other example commands of the
+Hono documentation.</p>
+
+<h3 id="running-consumer">Running consumer</h3>
+
+<p>As described in the <a href="https://www.eclipse.org/hono/getting-started/
+">Getting Started</a>
+guide, data produced by devices is usually consumed by downstream applications
+which connect directly to the router network service. You can start the client
+from the <code>cli</code> folder as follows:</p>
+
+<pre><code>mvn spring-boot:run -Dspring-boot.run.arguments=--hono.client.host=$(oc -n hono get addressspace default -o jsonpath={.status.endpointStatuses[?(@.name==\'messaging\')].externalHost}),--hono.client.port=443,--hono.client.username=consumer,--hono.client.password=verysecret,--hono.client.trustStorePath=target/config/hono-demo-certs-jar/tls.crt
+</code></pre>
+
+<h3 id="register-device">Register device</h3>
+
+<p>In order to upload telemetry data to Hono, the device needs to be registered
+with the system. You can register the device using the <em>Device Registry</em> by
+running the following command (i.e. for a device with ID <code>4711</code>):</p>
+
+<pre><code>curl -X POST -i -H 'Content-Type: application/json' -d '{&quot;device-id&quot;: &quot;4711&quot;}' https://$(oc get -n hono route hono-service-device-registry-https --template='{{.spec.host}}')/registration/DEFAULT_TENANT
+</code></pre>
+
+<h3 id="uploading-telemetry-with-http">Uploading Telemetry with HTTP</h3>
+
+<p>After having the device registered, uploading telemetry is just a simple
+HTTP POST command to the <em>HTTP Adapter</em>:</p>
+
+<pre><code>curl -X POST -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{&quot;temp&quot;: 5}' https://$(oc -n hono get route hono-adapter-http-vertx-sec --template='{{.spec.host}}')/telemetry
+</code></pre>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/deployment/openshift_01_hono_ready.png b/docs/dev/deployment/openshift_01_hono_ready.png
new file mode 100644
index 0000000..d0f15ed
--- /dev/null
+++ b/docs/dev/deployment/openshift_01_hono_ready.png
Binary files differ
diff --git a/docs/dev/deployment/openshift_09_enmasse_ready.png b/docs/dev/deployment/openshift_09_enmasse_ready.png
new file mode 100644
index 0000000..d8bb4b3
--- /dev/null
+++ b/docs/dev/deployment/openshift_09_enmasse_ready.png
Binary files differ
diff --git a/docs/dev/deployment/resource-limitation/index.html b/docs/dev/deployment/resource-limitation/index.html
new file mode 100644
index 0000000..d1c8183
--- /dev/null
+++ b/docs/dev/deployment/resource-limitation/index.html
@@ -0,0 +1,2281 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Limiting Resource Usage :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Limiting Resource Usage :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Limiting Resource Usage :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/deployment/resource-limitation/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item active">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/deployment/resource-limitation/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/deployment/resource-limitation/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/resource-limitation.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/deployment/'>Deployment</a> > Limiting Resource Usage
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#java-s-view-of-the-world">Java&rsquo;s View of the World</a></li>
+<li><a href="#limiting-a-container-s-memory-consumption">Limiting a Container&rsquo;s Memory Consumption</a>
+<ul>
+<li><a href="#java-8">Java 8</a></li>
+<li><a href="#java-9-and-later">Java 9 and later</a></li>
+<li><a href="#kubernetes">Kubernetes</a></li>
+</ul></li>
+<li><a href="#limiting-the-number-of-device-connections">Limiting the Number of Device Connections</a></li>
+<li><a href="#limiting-the-number-of-messages">Limiting the Number of Messages</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Limiting Resource Usage</h1>
+          
+
+        
+
+
+<p>Deploying Eclipse Hono&trade; to a container orchestration platform is easy thanks to the provided Docker images. This page provides some guidance for configuring the resource consumption of these containers in order to make sure that they get enough memory and CPU to run properly, but to also make sure that individual containers do not use up all the resources causing other containers to starve.</p>
+
+<p>Docker itself provides means to limit a container&rsquo;s consumption of memory and CPU resources by means of command line options that can be set when starting up a container. Both Kubernetes and OpenShift leverage this mechanism when defining resource limits of a <em>pod</em>. Please refer to the corresponding documentation of Docker, Kubernetes and OpenShift for details regarding the particular syntax to be used.</p>
+
+<h2 id="java-s-view-of-the-world">Java&rsquo;s View of the World</h2>
+
+<p>Hono&rsquo;s service components are implemented in Java. When the corresponding Docker container for such a service is started, the only process being run inside the container is therefore a Java virtual machine (JVM). On startup, the JVM tries to determine the amount of memory and the number of CPU cores that it can use to execute workloads. By default the JVM queries the operating system for the corresponding parameters and adjusts its runtime parameters accordingly, e.g. it will by default limit the size of its heap memory to a quarter of the total memory available in order to leave enough memory for other processes running on the same system.</p>
+
+<p>This is a reasonable approach when running on <em>bare metal</em> or a VM where other processes are expected to be running on the same machine, thus competing for the same computing resources. However, containers are usually configured to run a single process only so that it makes more sense to dedicate almost all of the available resources to running that process, leaving the (small) rest for the operating system itself.</p>
+
+<p>As described above, a Docker container can easily be configured with a limit for memory and CPU resources that it may use during runtime. These limits are set and enforced using Linux <em>CGroups</em>. When a Java VM is run inside of such a Docker container which has been configured with a memory limit, then the result of the JVM&rsquo;s attempt to determine the available resources during startup will not reflect the memory limit imposed on the container. That is because the JVM by default does not consider the CGroup limit but instead queries the operating system for the overall amount of memory available. The same is true for the way that the JVM determines the number of available CPU cores.</p>
+
+<p>As described above, a Docker container can easily be configured with a limit for memory and CPU resources that it may use during runtime. These limits are set and enforced using Linux <em>CGroups</em>. When a pre version 9 Java VM is run inside of such a Docker container which has been configured with a memory limit, then the result of the JVM&rsquo;s attempt to determine the available resources during startup will not reflect the memory limit imposed on the container. That is because the JVM by default does not consider the CGroup limit but instead queries the operating system for the overall amount of memory available. The same is true for the way that the JVM determines the number of available CPU cores. Starting with version 9 Java correctly determines the amount of memory and CPUs available when running in a container.</p>
+
+<h2 id="limiting-a-container-s-memory-consumption">Limiting a Container&rsquo;s Memory Consumption</h2>
+
+<h3 id="java-8">Java 8</h3>
+
+<p>OpenJDK 8 has introduced the experimental <code>-XX:+UseCGroupMemoryLimitForHeap</code> option to make the JVM consider CGroup limits when determining the amount of available memory. Using this option, it is possible to explicitly configure a Java 8 VM&rsquo;s memory consumption within the boundaries of the container&rsquo;s (limited) resources. However, the JVM will still only allocate a quarter of the (limited) amount of memory, thus leaving a lot of the memory available to the container unused.</p>
+
+<p>Either of the following JVM options can be used in Java 8 in order to change this behavior:</p>
+
+<ul>
+<li><code>-XX:MaxRAMFraction</code> can be used to set the fraction of total memory that may be allocated for the heap. The default value is 4 (meaning that up to a quarter of the memory will be allocated), so in order to increase the amount of memory, the value can be set to 2 (using up to 50% of the memory) or 1 (using up to 100% of the memory). Setting the option to 1 is strongly discouraged because it would leave no memory left for the JVM&rsquo;s other memory areas nor any additional processes run by the operating system.</li>
+<li><code>-Xmx</code> can be used to explicitly set the maximum amount of memory used for the heap. As a rule of thumb, setting this value to 60-70% of the container&rsquo;s (limited) amount of memory should usually work. Based on the application&rsquo;s memory usage characteristics, increasing the value to 80 or even 90% might also work.</li>
+</ul>
+
+<h3 id="java-9-and-later">Java 9 and later</h3>
+
+<p>Starting with Java 9, the JVM will correctly determine the total memory and number of CPUs available when running inside of a container. All of the Docker images provided by Hono run with OpenJDK 11 by default, thus ensuring that the JVM considers any memory limits configured for the container when configuring its heap during startup. However, the default algorithm will still only allocate a quarter of the (limited) amount of memory, thus leaving a lot of memory available to the container unused.</p>
+
+<p>The following JVM options can be used in Java 9 and later in order to change this behavior:</p>
+
+<ul>
+<li><code>-XX:MinRAMPercentage</code>, <code>-XX:MaxRAMPercentage</code> and <code>-XX:InitialRAMPercentage</code> can be used to set the (minimum, maximum and initial) percentage of total memory that may be allocated for the heap. A value of 70-80% should work if no other processes are running in the same container.</li>
+</ul>
+
+<h3 id="kubernetes">Kubernetes</h3>
+
+<p>In Kubernetes (and OpenShift) the resource limits for a <em>pod</em>, and thus the container(s) that are part of the pod, can be configured in the corresponding <em>PodSpec</em>. The following example from the HTTP adapter&rsquo;s Kubernetes <em>Deployment</em> resource descriptor illustrates the mechanism:</p>
+
+<pre><code class="language-json">apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: hono-adapter-http-vertx
+spec:
+  template:
+    metadata:
+      labels:
+        app: hono-adapter-http-vertx
+        version: &quot;${project.version}&quot;
+        group: ${project.groupId}
+    spec:
+      containers:
+      - image: eclipse/hono-adapter-http-vertx:${project.version}
+        name: eclipse-hono-adapter-http-vertx
+        resources:
+          limits:
+            memory: &quot;256Mi&quot;
+        ports:
+        - containerPort: 8080
+          protocol: TCP
+        env:
+        - name: SPRING_CONFIG_LOCATION
+          value: file:///etc/hono/
+        - name: SPRING_PROFILES_ACTIVE
+          value: dev
+        - name: LOGGING_CONFIG
+          value: classpath:logback-spring.xml
+        - name: _JAVA_OPTIONS
+          value: &quot;-XX:MinRAMPercentage=80 -XX:MaxRAMPercentage=80&quot;
+        volumeMounts:
+        - mountPath: /etc/hono
+          name: conf
+          readOnly: true
+      volumes:
+      - name: conf
+        secret:
+          secretName: hono-adapter-http-vertx-conf
+</code></pre>
+
+<p>The <code>resources</code> property defines the overall limit of 256 MB of memory that the pod may use. The <code>_JAVA_OPTIONS</code> environment variable is again used to configure the JVM to use 80% of the total memory for its heap.</p>
+
+<h2 id="limiting-the-number-of-device-connections">Limiting the Number of Device Connections</h2>
+
+<p>Hono supports limiting the overall number of simultaneously connected devices per tenant. Please refer to the <a href="/hono/docs/dev/concepts/resource-limits/#connections-limit">connections limit concept</a> for more information. The limit needs to be configured at the tenant level using the <em>resource-limits</em> configuration property. Please refer to the <a href="/hono/docs/dev/api/tenant-api/#tenant-information-format">Tenant API</a> for configuration details.</p>
+
+<h2 id="limiting-the-number-of-messages">Limiting the Number of Messages</h2>
+
+<p>Hono supports limiting the number of messages that devices of a tenant can publish to Hono during a given time interval. Please refer to the <a href="/hono/docs/dev/concepts/resource-limits/#messages-limit">messages limit concept</a> for more information. The limit needs to be configured at the tenant level using the <em>resource-limits</em> configuration property. Please refer to the <a href="/hono/docs/dev/api/tenant-api/#tenant-information-format">Tenant API</a> for configuration details.</p>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/dev-guide/building_hono/index.html b/docs/dev/dev-guide/building_hono/index.html
new file mode 100644
index 0000000..97b7da0
--- /dev/null
+++ b/docs/dev/dev-guide/building_hono/index.html
@@ -0,0 +1,2248 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Building from Source :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Building from Source :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Building from Source :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/dev-guide/building_hono/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item active">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/dev-guide/building_hono/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/dev-guide/building_hono/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/dev-guide/building_hono.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/dev-guide/'>Developer Guide</a> > Building from Source
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#prerequisites-for-building-hono">Prerequisites for building Hono</a>
+<ul>
+<li>
+<ul>
+<li><a href="#docker">Docker</a></li>
+<li><a href="#java">Java</a></li>
+<li><a href="#maven">Maven</a></li>
+<li><a href="#git">Git</a></li>
+</ul></li>
+</ul></li>
+<li><a href="#getting-the-hono-source-code">Getting the Hono Source Code</a></li>
+<li><a href="#starting-the-hono-build-process">Starting the Hono Build Process</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Building from Source</h1>
+          
+
+        
+
+
+
+
+<p>Hono can be deployed using the pre-built Docker images available from our <a href="https://hub.docker.com/u/eclipse/">Docker Hub repositories</a>. However, customizing and/or extending Hono&rsquo;s functionality requires building the images from source code.</p>
+
+<p>This page provides step by step instructions for getting the source code and building the Hono&rsquo;s Docker images from it.</p>
+
+<h2 id="prerequisites-for-building-hono">Prerequisites for building Hono</h2>
+
+<h4 id="docker">Docker</h4>
+
+<p>Creating Hono&rsquo;s container images using the Hono build process requires a <a href="http://www.docker.com">Docker</a> daemon running either locally or on another host you have access to. Please follow the instructions on the <a href="http://www.docker.com">Docker web site</a> to install Docker on your platform.</p>
+
+<h4 id="java">Java</h4>
+
+<p>Hono is written in Java and therefore requires a Java Development Kit (JDK) version 11 or higher installed on your computer. Please follow the JDK vendor&rsquo;s instructions for installing Java on your operating system.</p>
+
+<h4 id="maven">Maven</h4>
+
+<p>Hono&rsquo;s build process is based on <a href="https://maven.apache.org">Apache Maven</a>. You need at least Maven 3.5 in order to build Hono.
+Please follow the <a href="https://maven.apache.org/">installation instructions on the Maven home page</a>.</p>
+
+<h4 id="git">Git</h4>
+
+<p>A Git client is required if you want to contribute changes/improvements to the Hono project. It is not necessary for simply building Hono locally.
+Please refer to the <a href="https://git-scm.com/downloads">Git Downloads page</a> for installation instructions.</p>
+
+<h2 id="getting-the-hono-source-code">Getting the Hono Source Code</h2>
+
+<p>Either</p>
+
+<ul>
+<li>download the latest <a href="https://github.com/eclipse/hono/releases">release archive</a> and extract the archive to a local folder or</li>
+<li>clone the Hono source code repository from GitHub:
+<code>
+git clone https://github.com/eclipse/hono.git
+</code>
+This will create a <code>hono</code> folder in the current working directory and clone the whole repository into that folder.</li>
+</ul>
+
+<h2 id="starting-the-hono-build-process">Starting the Hono Build Process</h2>
+
+<p>Run the following from the source folder:</p>
+
+<pre><code class="language-sh"># in the &quot;hono&quot; folder containing the source code
+mvn clean install -Ddocker.host=tcp://${host}:${port} -Pbuild-docker-image,metrics-prometheus
+</code></pre>
+
+<p>with <code>${host}</code> and <code>${port}</code> reflecting the name/IP address and port of the host where Docker is running on. This will build all libraries, Docker images and example code. If you are running on Linux and Docker is installed locally or you have set the <code>DOCKER_HOST</code> environment variable, you can omit the <code>-Ddocker.host</code> property definition.</p>
+
+<p>If you plan to build the Docker images more frequently, e.g. because you want to extend or improve the Hono code, then you should define the <code>docker.host</code> property in your Maven <code>settings.xml</code> file containing the very same value as you would use on the command line as indicated above. The file is usually located in the <code>.m2</code> folder in your user&rsquo;s home directory. This way you can simply do a <code>mvn clean install</code> later on and the Docker images will be built automatically as well because the <code>build-docker-image</code> profile is activated automatically if the Maven property <code>docker.host</code> is set.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Be patient</h4>
+    <div>The first build might take several minutes because Docker will need to download all the base images that Hono is relying on. However, most of these will be cached by Docker so that subsequent builds will be running much faster.</div>
+</div>
+
+
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/dev-guide/custom_http_adapter/index.html b/docs/dev/dev-guide/custom_http_adapter/index.html
new file mode 100644
index 0000000..2ada34a
--- /dev/null
+++ b/docs/dev/dev-guide/custom_http_adapter/index.html
@@ -0,0 +1,2296 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Implement a Custom Hono HTTP Protocol Adapter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Implement a Custom Hono HTTP Protocol Adapter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Implement a Custom Hono HTTP Protocol Adapter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/dev-guide/custom_http_adapter/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item active">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/dev-guide/custom_http_adapter/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/dev-guide/custom_http_adapter/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/dev-guide/custom_http_adapter.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/dev-guide/'>Developer Guide</a> > Implement a Custom Hono HTTP Protocol Adapter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#prerequisites">Prerequisites</a></li>
+<li><a href="#the-standard-http-adapter">The standard HTTP Adapter</a></li>
+<li><a href="#anatomy-of-the-standard-http-adapter">Anatomy of the standard HTTP Adapter</a></li>
+<li><a href="#derive-a-custom-http-protocol-adapter">Derive a custom HTTP Protocol Adapter</a>
+<ul>
+<li><a href="#adding-routes">Adding Routes</a></li>
+</ul></li>
+<li><a href="#build-and-run-the-custom-http-protocol-adapter">Build and run the custom HTTP Protocol Adapter</a></li>
+<li><a href="#using-the-custom-http-protocol-adapter">Using the custom HTTP Protocol Adapter</a></li>
+<li><a href="#further-extend-the-custom-http-protocol-adapter">Further extend the custom HTTP Protocol Adapter</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Implement a Custom Hono HTTP Protocol Adapter</h1>
+          
+
+        
+
+
+<p>Eclipse Hono&trade; comes with a default <em>HTTP Adapter</em> which can be used to interact with devices via HTTP.
+The default HTTP Adapter also serves as a blueprint for implementing a <em>custom</em> HTTP protocol adapter.</p>
+
+<p>This section will guide you through the steps to build your own custom HTTP protocol adapter.</p>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<p>You should be familiar with the setup and start of Hono. Refer to the
+<a href="https://www.eclipse.org/hono/getting-started/
+">Getting Started</a> guide.</p>
+
+<h2 id="the-standard-http-adapter">The standard HTTP Adapter</h2>
+
+<p>Hono&rsquo;s HTTP Adapter supports telemetry and event data processing. Please refer to the <a href="/hono/docs/dev/user-guide/http-adapter/">HTTP Adapter User Guide</a> and <a href="/hono/docs/dev/admin-guide/http-adapter-config/">HTTP Adapter Admin Guide</a> for details regarding the usage and configuration of the HTTP Adapter.</p>
+
+<p>You can find the source of the HTTP Adapter at <a href="https://github.com/eclipse/hono/tree/master/adapters/http-vertx">https://github.com/eclipse/hono/tree/master/adapters/http-vertx</a>.</p>
+
+<h2 id="anatomy-of-the-standard-http-adapter">Anatomy of the standard HTTP Adapter</h2>
+
+<p>Like many other Hono components, the HTTP Adapter is built on top of the <a href="https://vertx.io">Vert.x</a> framework.</p>
+
+<p>The HTTP Adapter&rsquo;s <code>VertxBasedHttpProtocolAdapter</code> class is derived from an abstract base class. This base class implements the standard functionality for component initialization, receiving HTTP requests from devices or external clients, and forwarding of data to the downstream <em>AMQP Messaging Network</em>.</p>
+
+<h2 id="derive-a-custom-http-protocol-adapter">Derive a custom HTTP Protocol Adapter</h2>
+
+<p>Use the standard HTTP Adapter as a blueprint.</p>
+
+<h3 id="adding-routes">Adding Routes</h3>
+
+<p>In Vert.x, a <em>route</em> is a mapping of an HTTP request to a <em>handler</em>. Inside a route, Vert.x provides a <code>RoutingContext</code>
+instance which gives access to the HTTP request (and response) object containing the HTTP headers.</p>
+
+<p>The standard HTTP Adapter overrides the abstract method <code>addRoutes()</code>, provided by the base class, and adds routes for processing telemetry data and events.</p>
+
+<pre><code class="language-java">// route for uploading telemetry data
+router.route(HttpMethod.PUT, String.format(&quot;/telemetry/:%s/:%s&quot;, PARAM_TENANT, PARAM_DEVICE_ID))
+    .handler(ctx -&gt; uploadTelemetryMessage(ctx, getTenantParam(ctx), getDeviceIdParam(ctx)));
+</code></pre>
+
+<p>The route for telemetry data parses the HTTP request, extracts the <em>tenant</em> and <em>deviceId</em> parameters from the
+request URL path, and forwards the message payload to the method <code>uploadTelemetryMessage()</code>, provided by the base class.</p>
+
+<p><strong>NB</strong> Note the Vert.x place holder indicators <code>:</code> inside the URL path pattern <code>/telemetry/:%s/:%s</code>. Vert.x makes matching
+place holders available as request parameters. See <a href="http://vertx.io/docs/vertx-web/java/#_capturing_path_parameters">Capturing path parameters</a> in the Vert.x documentation.</p>
+
+<p>The route for events looks very similar to the route for telemetry data. It forwards the event message payload to the <code>uploadEventMessage()</code> method.</p>
+
+<p>Please refer to the <a href="/hono/docs/dev/api/telemetry-api/">Telemetry API</a> and <a href="/hono/docs/dev/api/event-api/">Event API</a>
+for details about the different Hono APIs.</p>
+
+<p>In the custom HTTP protocol adapter adapt the routes according to your needs.</p>
+
+<h2 id="build-and-run-the-custom-http-protocol-adapter">Build and run the custom HTTP Protocol Adapter</h2>
+
+<p>If you have Hono running, you can launch your custom HTTP protocol adapter as a Docker Container or a Spring Boot application.</p>
+
+<p>You may adopt the Maven profile <code>build-docker-image</code> from the Maven POM file of the standard HTTP Adapter into your
+custom adapter&rsquo;s Maven POM file.</p>
+
+<p>Follow the guidelines for running the HTTP Adapter in <a href="/hono/docs/dev/admin-guide/http-adapter-config/">HTTP Adapter</a>. Don&rsquo;t forget to configure the custom protocol adapter to bind to a different port than the standard HTTP Adapter if you intend to run them both at the same time. See the <a href="/hono/docs/dev/admin-guide/http-adapter-config/#port-configuration">Port Configuration section</a> of the HTTP Adapter documentation for details.</p>
+
+<h2 id="using-the-custom-http-protocol-adapter">Using the custom HTTP Protocol Adapter</h2>
+
+<p>Now that you have your custom HTTP protocol adapter up and running, you can use any HTTP client, like <code>curl</code> or
+<code>HTTPie</code>, to publish data to your custom adapter.</p>
+
+<p>Note that before publishing data to your custom HTTP protocol adapter, you need to start a <em>consumer</em> for the tenant you intend to publish data for.
+Otherwise you will not be able to successfully send data. For this purpose, you may use the example consumer as described in the <a href="https://www.eclipse.org/hono/getting-started/
+">Getting Started</a> guide.</p>
+
+<h2 id="further-extend-the-custom-http-protocol-adapter">Further extend the custom HTTP Protocol Adapter</h2>
+
+<p>The abstract base class includes additional hooks which you may use to <em>plug into</em> the adapter&rsquo;s life cycle:</p>
+
+<table>
+<thead>
+<tr>
+<th align="left">Hook</th>
+<th align="left">Description</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td align="left"><code>preStartup()</code></td>
+<td align="left">called before start of adapter&rsquo;s HTTP server</td>
+</tr>
+
+<tr>
+<td align="left"><code>onStartupSuccess()</code></td>
+<td align="left">called after successful start of adapter</td>
+</tr>
+
+<tr>
+<td align="left"><code>preShutdown()</code></td>
+<td align="left">called before stop of adapter&rsquo;s HTTP server</td>
+</tr>
+
+<tr>
+<td align="left"><code>postShutdown</code></td>
+<td align="left">called after successful stop of adapter</td>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/dev-guide/index.html b/docs/dev/dev-guide/index.html
new file mode 100644
index 0000000..9235160
--- /dev/null
+++ b/docs/dev/dev-guide/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Developer Guide :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Developer Guide :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Developer Guide :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/dev-guide/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/dev-guide/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/dev-guide/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/dev-guide/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > Developer Guide
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="developer-guide">Developer Guide</h1>
+
+<p>Learn how to integrate your custom components with Hono&trade;.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/dev-guide/index.xml b/docs/dev/dev-guide/index.xml
new file mode 100644
index 0000000..c3a728b
--- /dev/null
+++ b/docs/dev/dev-guide/index.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Developer Guide on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/dev-guide/</link>
+    <description>Recent content in Developer Guide on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/dev-guide/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Building from Source</title>
+      <link>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</guid>
+      <description>Hono can be deployed using the pre-built Docker images available from our Docker Hub repositories. However, customizing and/or extending Hono&amp;rsquo;s functionality requires building the images from source code.
+This page provides step by step instructions for getting the source code and building the Hono&amp;rsquo;s Docker images from it.
+Prerequisites for building Hono Docker Creating Hono&amp;rsquo;s container images using the Hono build process requires a Docker daemon running either locally or on another host you have access to.</description>
+    </item>
+    
+    <item>
+      <title>Consuming Messages from Java</title>
+      <link>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</guid>
+      <description>To illustrate how Eclipse Hono&amp;trade; can be integrated with Java code, a simple application is provided that consumes telemetry and event data for devices belonging to the default tenant.
+It also includes support for Command and Control:
+if indicated by a received downstream message that contains a ttd value (refer to Device notifications for details) it tries to send a command to the device. If the value of ttd indicates that the device stays connected for an unlimited time (ttd == -1), the application will periodically repeat to send a command until notified the device is disconnected again (ttd == 0).</description>
+    </item>
+    
+    <item>
+      <title>Implement a Custom Hono HTTP Protocol Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</guid>
+      <description>&lt;p&gt;Eclipse Hono&amp;trade; comes with a default &lt;em&gt;HTTP Adapter&lt;/em&gt; which can be used to interact with devices via HTTP.
+The default HTTP Adapter also serves as a blueprint for implementing a &lt;em&gt;custom&lt;/em&gt; HTTP protocol adapter.&lt;/p&gt;</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/dev-guide/java_client_consumer/index.html b/docs/dev/dev-guide/java_client_consumer/index.html
new file mode 100644
index 0000000..41b8a4d
--- /dev/null
+++ b/docs/dev/dev-guide/java_client_consumer/index.html
@@ -0,0 +1,2266 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Consuming Messages from Java :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Consuming Messages from Java :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Consuming Messages from Java :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/dev-guide/java_client_consumer/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item active">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/dev-guide/java_client_consumer/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/dev-guide/java_client_consumer/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/dev-guide/java_client_consumer.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/dev-guide/'>Developer Guide</a> > Consuming Messages from Java
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#configure-the-example">Configure the example</a></li>
+<li><a href="#run-the-example">Run the example</a>
+<ul>
+<li><a href="#telemetry-and-event-messages">Telemetry and Event messages</a></li>
+<li><a href="#command-and-control">Command and Control</a></li>
+<li><a href="#encryption-of-communication">Encryption of communication</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Consuming Messages from Java</h1>
+          
+
+        
+
+
+
+
+<p>To illustrate how Eclipse Hono&trade; can be integrated with Java code, a simple application is provided that consumes telemetry and event data
+for devices belonging to the default tenant.</p>
+
+<p>It also includes support for Command and Control:</p>
+
+<p>if indicated by a received downstream message that contains a <code>ttd</code> value (refer to <a href="/hono/docs/dev/concepts/device-notifications/">Device notifications</a> for details) it tries to send a command to the device.
+If the value of <code>ttd</code> indicates that the device stays connected for an unlimited time (<code>ttd == -1</code>), the application will periodically repeat to send a command until
+notified the device is disconnected again (<code>ttd == 0</code>).</p>
+
+<p>This application shall serve as a blueprint to integrate your existing java source code with Hono.
+Its code is found in the <a href="https://github.com/eclipse/hono/tree/master/example">example</a> module in the package <a href="https://github.com/eclipse/hono/tree/master/example/src/main/java/org/eclipse/hono/vertx/example">org.eclipse.hono.vertx.example</a>.</p>
+
+<p>The provided classes are kept as simple as possible (in the tradition of a classical &ldquo;Hello World&rdquo; implementation) while still
+covering the most relevant messaging patterns (downstream and upstream messages).
+For this purpose they make use of simple constant definitions and deal with exceptions as rarely as possible.
+You may want to change the level of detail that should be logged to the console by editing the contained <code>resources/logback.xml</code> file.</p>
+
+<p>Please refer to the javadoc of the classes for details.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>Note that production ready code likely has to think more about error handling and logging than this simple blueprint.</div>
+</div>
+
+
+<h2 id="configure-the-example">Configure the example</h2>
+
+<p>For simplicity, all configurations are defined as Java constants inside the class <a href="https://github.com/eclipse/hono/blob/master/example/src/main/java/org/eclipse/hono/vertx/example/base/HonoExampleConstants.java">HonoExampleConstants</a>.</p>
+
+<p>If you have Hono running in Docker under <code>localhost</code>, the example should work out of the box.</p>
+
+<p>Some configuration values can be overridden by providing them as property to the application.</p>
+
+<p>This includes the <code>host</code> and the <code>port</code> of the AMQP network.
+In the standard setup of Hono they should be configured to the <a href="https://qpid.apache.org/components/dispatch-router/index.html">qdrouter</a> from the Apache Qpid project.
+In production scenarios this might be a large setup of AMQP routers, brokers, etc.</p>
+
+<p>Please refer to the class <code>HonoExampleConstants</code> to find out which part of the application can be configured by properties.</p>
+
+<h2 id="run-the-example">Run the example</h2>
+
+<p>The application waits for messages until you press any key or kill it.</p>
+
+<p>It is started by</p>
+
+<pre><code># in directory: hono/example/
+mvn exec:java -Dexec.mainClass=org.eclipse.hono.vertx.example.HonoExampleApplication
+</code></pre>
+
+<p>or - if e.g. the host of the AMQP network should be changed -</p>
+
+<pre><code>mvn exec:java -Dexec.mainClass=org.eclipse.hono.vertx.example.HonoExampleApplication -Dconsumer.host=192.168.99.100
+</code></pre>
+
+<h3 id="telemetry-and-event-messages">Telemetry and Event messages</h3>
+
+<p>Depending on the logger configuration, all received downstream messages are printed to the console.</p>
+
+<p>Please note that consumers do not connect with Hono directly, but rather with an AMQP router network.</p>
+
+<h3 id="command-and-control">Command and Control</h3>
+
+<p>By using a helper class provided by Hono, a callback in the application code is invoked when a downstream message was received
+that signals the device will stay connected to the protocol adapter for some time (see <a href="/hono/docs/dev/concepts/device-notifications/">Device notifications</a> for details).</p>
+
+<p>Inside this callback an arbitrary simple command is sent down to the device (once or periodically) and the response is logged to the console.</p>
+
+<h3 id="encryption-of-communication">Encryption of communication</h3>
+
+<p>For the encrypted communication with Hono, the necessary truststore is already installed and used by the Hono client.</p>
+
+<p>If you want to integrate the code with your own software, please copy the provided truststore (<code>hono/demo-certs/certs/trusted-certs.pem</code>)
+from the Hono project to the <code>resources</code> directory of your project
+and adopt the code pointing to the file location.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/index.html b/docs/dev/index.html
new file mode 100644
index 0000000..3dff440
--- /dev/null
+++ b/docs/dev/index.html
@@ -0,0 +1,2116 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Documentation :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Documentation :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Documentation :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+<span id="sidebar-toggle-span">
+<a href="#" id="sidebar-toggle" data-sidebar-toggle=""><i class="fas fa-bars"></i> navigation</a>
+</span>
+
+ 
+
+
+<h1 id="documentation">Documentation</h1>
+
+<p>Learn about Hono&trade; and look-up details.</p>
+	
+  
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/index.json b/docs/dev/index.json
new file mode 100644
index 0000000..f30023b
--- /dev/null
+++ b/docs/dev/index.json
@@ -0,0 +1,365 @@
+[
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/",
+	"title": "Documentation",
+	"tags": [],
+	"description": "",
+	"content": " Documentation Learn about Hono\u0026trade; and look-up details.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/",
+	"title": "Concepts",
+	"tags": [],
+	"description": "",
+	"content": " Concepts Understand the concepts behind Hono\u0026trade;.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/device-identity/",
+	"title": "Device Identity",
+	"tags": [],
+	"description": "",
+	"content": "This page describes how devices are represented and identified throughout Hono and its API\u0026rsquo;s.\nThe main purpose of Hono is to provide a uniform API for applications to interact with devices, regardless of the particular communication protocol the devices natively use. In order to do so, Hono uses a unique logical identifier to refer to each device individually.\nHono does not make any assumptions about the format of a device identifier (or device-id for short). It basically is a string which is defined at the time a device is registered. Once registered, the device can be referred to by this identifier when using Hono\u0026rsquo;s APIs until the device is unregistered.\nTenant Hono supports the logical partitioning of devices into groups called tenants. Each tenant has a unique identifier, a string called the tenant-id, and can be used to provide a logical grouping of devices belonging e.g. to the same application scope or organizational unit. Each device can thus be uniquely identified by the tuple (tenant-id, device-id). This tuple is broadly used throughout Hono\u0026rsquo;s APIs when addressing a particular device.\nDevice Registration Hono components use the Device Registration API to access device registration information. The API defines the mandatory to implement assert Registration operation for verifying a device\u0026rsquo;s registration status. In addition to that, it defines optional CRUD operations to register, update and remove device registration information. These operations are optional because Hono components do not require them during runtime. From a Hono perspective, it is not important how devices have been registered or how they are managed.\nIn many real world scenarios there will already be a component in place which keeps track of devices and which supports the particular provisioning process being used to bring devices into life. In such cases it makes sense to simply implement the mandatory operation of Hono\u0026rsquo;s Device Registration API as a facade on top of the existing component.\nFor demonstration purposes, Hono comes with a simple default implementation of the Device Registration API which keeps all data in memory only. This component implements all mandatory and optional operations but is not supposed to be used in production scenarios.\nDevice Authentication Devices connect to protocol adapters in order to publish telemetry data or events. Downstream applications consuming this data often take particular actions based on the content of the messages. Such actions may include simply updating some statistics, e.g. tracking the average room temperature, but may also trigger more serious activities like shutting down a power plant. It is therefore important that applications can rely on the fact that the messages they process have in fact been produced by the device indicated by a message\u0026rsquo;s source address.\nHono relies on protocol adapters to establish a device\u0026rsquo;s identity before it is allowed to publish telemetry data or send events. Conceptually, Hono distinguishes between two identities\n an identity associated with the authentication credentials (termed the authentication identity or auth-id), and an identity to act as (the device identity or device-id).  A device therefore presents an auth-id as part of its credentials during the authentication process which is then resolved to a device identity by the protocol adapter on successful verification of the credentials.\nIn order to support the protocol adapters in the process of verifying credentials presented by a device, the Credentials API provides means to look up secrets on record for the device and use this information to verify the credentials.\nThe Credentials API supports registration of multiple sets of credentials for each device. A set of credentials consists of an auth-id and some sort of secret information. The particular type of secret determines the kind of information kept. Please refer to the Standard Credential Types defined in the Credentials API for details. Based on this approach, a device may be authenticated using different types of secrets, e.g. a hashed password or a pre-shared key, depending on the capabilities of the device and/or protocol adapter.\nOnce the protocol adapter has resolved the device-id for a device, it uses this identity when referring to the device in all subsequent API invocations, e.g. when forwarding telemetry messages downstream to the AMQP Messaging Network.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/tenancy/",
+	"title": "Multi-Tenancy",
+	"tags": [],
+	"description": "",
+	"content": " Hono is designed to structure the set of all internally managed data and data streams into strictly isolated subsets. This includes the registration data and credentials of devices, internal users that are used for authentication, and the Business Applications that are part of such subsets as well.\nThis way of strict isolation is generally known as multi-tenancy, where a tenant is the term for such a subset. Such an isolation is essential for enabling a scalable distributed architecture to handle independent subsets as if each subset had its own installation (which would be much harder to maintain and would not benefit from runtime cost sharing).\nHono\u0026rsquo;s multi-tenancy concept is based on handling tenants as own entities. All functionality of Hono is provided in the context of a previously created tenant - except the creation of a tenant itself.\nIn the following the different aspects of multi-tenancy in Hono are addressed and a full overview of the concept is given.\nThe Tenant API By means of the Tenant API Hono handles tenants as own entities.\nThe API defines how to retrieve the details of a specific tenant. This offers the possibility to handle arbitrary properties on the level of a tenant (see e.g. Protocol adapter configuration).\nFor convenience, there are CRUD operations for the handling of tenants, which can be found in the Device Registry.\nProtocol Adapters respect the Tenant API When a device connects to one of Hono\u0026rsquo;s protocol adapters, the adapter determines the tenant this device belongs to. How this is done is described in the User Guide.\nAfter the tenant is determined, the adapter retrieves the details of the determined tenant by means of the Tenant API. Only if the tenant exists and is enabled the adapter further processes the data of the device that is connecting. Otherwise the connection will be closed.\nProtocol Adapter Configuration Protocol adapters retrieve parts of their configuration on a tenant level by using the details of the determined tenant.\nThis includes e.g. if a specific protocol adapter is enabled at all for this tenant, allowing to define tenants with only a subset of Hono\u0026rsquo;s functionality. This feature is foreseen to be especially important for production setups.\nExample: a tenant that\n can use the MQTT protocol adapter but is not allowed to use the HTTP protocol adapter  Please refer to the Tenant API to find out which protocol adapter properties are configurable on a tenant level. The number of such properties may grow during further development of Hono.\nAMQP 1.0 Endpoints The AMQP 1.0 endpoints for all APIs of Hono are scoped to a tenant, by using the scheme \u0026lt;api-name\u0026gt;/TENANT/....\nExamples:\n telemetry/TENANT registration/TENANT  etc.\nThis separates the AMQP endpoints from each other on a tenant level.\nThe only exception to this is the Tenant API, which does not follow this scheme since it is addressing the tenants themselves.\nDevices and Tenants All devices of Hono belong to exactly one tenant, so any data is sent in the context of the tenant a device belongs to.\nIt is important here to focus on Hono\u0026rsquo;s view of a device: it is on a logical level, meaning a device is created in the context of a tenant purely by using Hono\u0026rsquo;s Credentials and Device Registration API.\nUsually a physical device will be created in Hono as exactly one logical device, and thus belongs to exactly one tenant.\nThe following diagram shows the relation between tenants, devices and their credentials:\n  Tenants, Devices and Credentials   Tenant based Flow Control An important detail in Hono\u0026rsquo;s architecture is that data sent downstream is transported via the tenant scoped AMQP 1.0 links from the protocol adapters to the AMQP 1.0 network.\nEach tenant has its own pair of AMQP 1.0 links and is treated independently from other tenants regarding the back pressure mechanism that AMQP 1.0 offers.\nThis enables a Business application to limit the rate at which it consumes AMQP 1.0 messages per tenant.\nAuthorization at Tenant Level Hono\u0026rsquo;s components authenticate each other by means of the Authentication API.\nThe returned token for a successful authentication contains authorization information that is addressing the AMQP 1.0 endpoints. Since the endpoints (as outlined above) are scoped to a tenant, this enables to configure tenants that are authorized to only a subset of Hono\u0026rsquo;s full functionality.\nExample: a tenant (defined by means of authorization configuration) that\n is allowed to send telemetry data downstream but is not allowed to send event data  This is done by not including the event endpoint in the authorization token for these tenants.\nBusiness Applications and Tenants The northbound Business applications are always connecting to the AMQP 1.0 endpoints of Hono.\nBy means of the authentication and authorization setup and the fact that the endpoints are scoped to a tenant, the Business application is only acting in the context of one tenant.\nSeparation of Tenants Tenants are separated from each other in all of Hono\u0026rsquo;s components.\nHere is a summary of how this is implemented:\n the registration of devices are strictly scoped to a tenant the credentials of devices are strictly scoped to a tenant protocol adapters can be enabled/disabled for a tenant the downstream data flow is isolated for every tenant Business applications need to authenticate to the AMQP 1.0 network and are by that mechanism scoped to their tenant  Hints for Production To be flexible for the different needs of production setups, Hono tries to make as few assumptions about the combination of the different APIs as possible. This means e.g. that the Device Registry does not enforce referential integrity of the APIs:\n devices can be created for a tenant that is not existing (yet) credentials can be created for a tenant and/or a device that is not existing (yet) tenants can be deleted and leave their scoped devices and credentials still in the configuration (which may not be usable anymore, since the tenant is missing)  These are points that production setups may want to implement differently.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/",
+	"title": "Device Notifications",
+	"tags": [],
+	"description": "",
+	"content": "Business Applications need to know when an attempt to send a command to device is feasible, e.g. because the device is then known to be connected to a protocol adapter. Devices and Protocol Adapters can indicate to Business Applications a device\u0026rsquo;s intent to e.g. receive commands using specific notifications.\nTime until Disconnect Notification Devices and Protocol Adapters can notify an application about the fact that a device is connected and ready to receive one or more commands by means of including a time \u0026lsquo;til disconnect (ttd) property in downstream AMQP 1.0 messages containing data originating from a connected device.\nThe ttd property value indicates the time that the device will stay connected to the protocol adapter. Using this value together with the creation-time of the message, an application can determine whether an attempt to send a command to the device has a reasonable chance of succeeding.\nThe ttd property can be included in any regular telemetry or event message. However, if a device does not have any telemetry data or event to upload to the adapter, it can also use an empty notification instead.\nHono includes utility classes that application developers can use to register a callback to be notified when a device sends a ttd notification. See Hono\u0026rsquo;s example module for details where such a notification callback is used.\nPlease refer to the Telemetry API and the Event API for further details.\nThe following table defines the possible values of the ttd property and their semantics:\n   TTD Description     \u0026gt; 0 The value indicates the number of seconds that the device will stay connected. Devices using a stateless protocol like HTTP will be able to receive a single command only before disconnecting.   -1 The device is now connected (i.e. available to receive upstream messages) until further notice.   0 The device is now disconnected (i.e. not available anymore to receive upstream messages).    Determining a Device\u0026rsquo;s Connection Status An application receiving a downstream message containing a ttd property can check if the device is currently connected (and thus ready to receive a command) by\n adding the ttd value to the creation-time to determine the expiration time, and then comparing the current time with the expiration time  If the current time is after the expiration time, the device should be assumed to already have disconnected again.\nSource of the ttd Value While it seems to be natural that a device itself indicates when it is ready to receive a command, it may not always be possible or desirable to do so.\nA device could e.g. be not capable to specify the value for ttd in it\u0026rsquo;s message, or all devices of a particular setup would always use the same value for ttd, so it would not make much sense to provide this value always again.\nAdditionally different protocols may or may not let a sender set specific values for a message, so a device using a specific protocol may not be able to provide a value for the ttd property at all.\nFor these reasons there are (resp. may be) additional ways of setting the value of ttd:\n Hono\u0026rsquo;s Tenant and Device Registration APIs support the inclusion of default values for application-properties in the AMQP 1.0 message. By these means a device can be configured to always have a specific value for ttd. In a future extension there may be a configuration value per tenant and protocol adapter that sets the value of ttd if it was not provided by other means already (like provided to the protocol adapter or by setting a default value).   Hono\u0026rsquo;s HTTP protocol adapter Hono\u0026rsquo;s HTTP protocol adapter supports the setting of the ttd value in requests explicitly - please refer to the HTTP Adapter for details.\nAlternatively the default property values for devices from the Device Registry can be used (described above).\nHono\u0026rsquo;s MQTT protocol adapter The MQTT protocol adapter automatically sends a Time until disconnect notification with a ttd value of -1 for a device that subscribes to the appropriate command topic (refer to the MQTT Adapter user guide for details).\nWhen a device unsubscribes again, the adapter automatically sends a Time until disconnect notification with a ttd value of 0.\nExamples The following sequence diagram shows a Time until disconnect notification while sending a telemetry message downstream via the HTTP protocol adapter:\n  Device command readiness with telemetry data   The following sequence diagram shows a Time until disconnect notification by sending an empty event message downstream via the HTTP protocol adapter:\n  Device command readiness with explicit event  "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/",
+	"title": "Command &amp; Control",
+	"tags": [],
+	"description": "",
+	"content": "Business applications can send commands to devices following the Command \u0026amp; Control API. This concept page describes how this API is used by applications to send commands to devices that connected to one of Hono\u0026rsquo;s protocol adapters.\nCommands can be sent following a request/response or a one-way pattern. For Request/Response commands, there is always a response expected from the device.\nCommand \u0026amp; Control over HTTP Adapter The following sequence diagrams give an overview of a device connecting via HTTP, which gets a command from the business application in the response to a downstream message - being an arbitrary event in this example. The application and the adapter connect to the AMQP Network, which forwards the transfer - for clarity this is not shown in the diagram.\n(Request/Response) command over HTTP:\n  Command \u0026amp; Control over HTTP Adapter   One-way command over HTTP:\n  One-way Command \u0026amp; Control over HTTP Adapter   With the hono-ttd request parameter in (1) the device indicates it will stay connected for max. 30 seconds. In the shown example this means that it can handle the response to the HTTP request for up to 30 seconds before considering the request being expired.\nInternally the application is notified that there is a time interval of 30 seconds to send a command (see Device notifications for details). This notification will be consumed by the application (2) and it now tries to send a command (3) to the device at the given address command/TENANT/4711. If the device is not connected or the time interval is expired already, there is no such link open and the application would get no credits so send the command.\nThe HTTP Adapter gets the command and writes it in the response of the devices send event (4), if the request was successful (status 2xx). The HTTP Adapter sets the following response headers and optionally a payload.\n   Response Header Description     hono-cmd The name of the command to execute. Any input data required will be contained in the response body.   hono-cmd-req-id Only set for Request/Response commands : The unique identifier of the command. This identifier is used to correlate the device\u0026rsquo;s response to the command with the request.    The hono-cmd is the command that should be executed by the device. Typically this command needs to be known by the device and the payload may contain additional details of the command.\nFor Request/Response commands:\nThe hono-cmd-req-id response header is needed for the command response to correlate it. It has to be sent back from the device to the adapter in a following operation (5).\nThe device needs to respond to the command (5), to inform the business application about the outcome of executing the command. For this purpose specific URIs are defined in HTTP Adapter.\nThe URI contains the hono-cmd-req-id and a status code indicating the outcome of executing the command.\nThe HTTP Adapter will send the payload of the response back to the Business Application (6) by using the receiver link that was opened by the application. If the response reached the application, the response request will be replied with 202 Accepted.\nCommand \u0026amp; Control over MQTT Adapter When the device is connected to the MQTT Adapter it receives Request/Response commands on the topic:\n command/[${tenant}]/[${device-id}]/req/${req-id}/${command}  and one-way commands on the topic:\n command/[${tenant}]/[${device-id}]/req//${command}  Authenticated devices typically subscribe to\n command/+/+/req/#  while unauthenticated devices have to fully specify their ${tenant} and ${device-id} during the subscription.\nThe response of the command will be sent by the device to\n command/[${tenant}]/[${device-id}]/res/${req-id}/${status}  If the device is authenticated, the ${tenant} and ${device-id} are left empty (resulting in 3 subsequent /s).\nThe following diagrams show the message flow for commands over the MQTT adapter:\nRequest/Response commands :\n  Request/Response Command over MQTT Adapter   one-way commands :\n  One-way Command over MQTT Adapter   Command \u0026amp; Control over AMQP Adapter When a device connected to the AMQP adapter wants to receive commands from the adapter, it opens a receiver link specifying the following source address:\n command for authenticated devices command/${tenant}/${device-id} for unauthenticated devices  Once the receiver link is opened, the AMQP adapter sends command messages to devices through the link. The subject property of the request message contains the actual command to be executed on the device.\nIf the command request is a one-way command, then the device need not publish a command response message. However, if the application expects a response, then devices should publish a response back to the application. If an anonymous sender link is already opened by the device (e.g for publishing telemetry or events), then the device can reuse that link to publish the command response message. Otherwise, the device should publish the response by opening an anonymous sender link. The device should set the message address, status and correlation-id properties of the response accordingly. Consult the table below for a list of properties that a device must set on a command response message.\nCommand Request Message Properties\nThe following properties are set by the AMQP adapter on a command message sent to devices.\n   Name Mandatory Location Type Description     subject yes properties string Contains the name of the command to be executed on a device.   reply-to yes properties string Contains the address to which the command response should be published to. This value is empty for one-way commands.   correlation-id yes properties string Contains the identifier used to correlate the response with the command request. If the command sent by the application contains a correlation-id, then that value is used as the correlation-id of the command request sent to the device. Otherwise, the value of the message-id property is used instead.    Command Response Message Properties\nIf the application expects a response (i.e the reply-to property is set), then the device should set the following properties on a command response message.\n   Name Mandatory Location Type Description     to yes properties string MUST contain the address to which the command response should be published to, which is the value of the reply-to property of the command request message.   correlation-id yes properties string MUST contain the identifier used to correlate the response with the original request, which is the value of the correlation-id of the original request.   status yes application-properties string The status code indicating the outcome of processing the command by the device. MUST be set by the device after executing the command.      Command \u0026amp; Control over AMQP Adapter  "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/",
+	"title": "Resource limits",
+	"tags": [],
+	"description": "",
+	"content": " Resource limits such as the maximum number of device connections allowed per tenant or the allowed data volume of the messages over a period of time per tenant can be set in Hono.\nHono specifies an API ResourceLimitChecks that is used by the protocol adapters for the verification of the configured resource limits. A default implementation of this API is shipped with Hono. This default implementation uses the live metrics data retrieved from a Prometheus server to verify the resource-limits, if configured. To enable and use this default implementation, please refer to the protocol adapter admin guides. Based on the requirements, a custom version of the above API can be implemented and used. The resource-limits for a tenant can be set using the tenant configuration. Please refer to the Tenant API for more details.\nConnections Limit Before accepting a new connection request from a device, the number of existing connections is checked against the configured limit by the protocol adapters. The connection request is declined if the limit is exceeded.\nThe MQTT and AMQP protocol adapters keep the connections longer opened than their counterparts such as HTTP. Thereby the MQTT and AMQP adapters are enabled to check the connection limits before accepting any new connection to a device.\nMessages Limit Hono supports limiting the number of messages that devices and north bound applications of a tenant can publish to Hono during a given time interval. Before accepting any telemetry or event or command messages from devices or north bound applications, it is checked by the protocol adapters that if the message limit is exceeded or not. The incoming message is discarded if the limit is exceeded.\nThe default prometheus based implementation uses data volume as the factor to limit the messages. The data volume already consumed by a tenant over the given time interval is compared with the configured message limit before accepting any messages.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/concepts/connection-events/",
+	"title": "Connection Events",
+	"tags": [],
+	"description": "",
+	"content": "Hono\u0026rsquo;s protocol adapters can use connection events to indicate the connection status of a device. In particular, an adapter can notify downstream components about a newly established connection with a device or about a device having disconnected. The connection status of devices using stateful protocols like MQTT and AMQP can usually be determined quite easily because these protocols often require peers to explicitly open or close a connection and often also support a kind of heart beat which can be used to determine if a connection is still alive. However, for stateless protocols like HTTP or CoAP, there is no clear definition of what it actually means that a device is connected. It is obvious that a device is connected when it is sending an HTTP request. However, the adapter has no way of knowing if the device has gone to sleep after it has received the adapter\u0026rsquo;s response to its request.\nThat said, connection events indicating an established connection with a device can usually be taken as face value. However, connection events indicating the disconnection of a device may only represent the protocol adapters view of the device\u0026rsquo;s connection status. For example, the HTTP adapter might consider a device disconnected because it hasn\u0026rsquo;t received any requests from the device for some time. However, the device itself might as well be up and running (i.e. not sleeping) and simply have no data worth publishing.\nThe mechanism of firing connection events is pluggable with the default implementation simply forwarding connection status information to the logging framework. Hono also comes with an alternative implementation which forwards connection status information by means of Connection Events via the Events API.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/",
+	"title": "User Guide",
+	"tags": [],
+	"description": "",
+	"content": " User Guide Learn how to quickly send data with Hono\u0026trade; from devices to business applications \u0026ndash; as well as commands the other way round.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/",
+	"title": "Device Registry",
+	"tags": [],
+	"description": "",
+	"content": "The Device Registry component provides exemplary implementations of Hono\u0026rsquo;s Tenant API, Device Registration API and Credentials API.\nAs such it exposes AMQP 1.0 based endpoints for retrieving the relevant information and persists data in the local filesystem.\nIn addition, the Device Registry also exposes HTTP resources for managing the contents of the registry according to the Device Registry HTTP API.\n Warning 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.\nThe resources have been designed to provide convenient access to the registry\u0026rsquo;s content using command line tools like curl or HTTPie.\n  Managing Tenants The following sections describe the resources representing the operations of the Tenant API and how they can be used to manage tenants. Please refer to the Device Registry HTTP API for the specific elements that are explained in detail there.\nAdd a Tenant  URI: /v1/tenants/${tenantId} Method: POST Request Headers:  (required) Content-Type: application/json (no other type supported)  Request Body:  (required) A JSON object as specified by Tenant schema of the HTTP API specification.  Status Codes:  201 (Created): Tenant has been added successfully under the resource indicated by Location header. 400 (Bad Request): The tenant has not been created because the request was malformed, e .g. because the payload was malformed. The response body may contain hints regarding the cause of the problem. 409 (Conflict): A tenant with the given tenantId already exists. The request has not been processed.  Response Headers:  Location: The URI under which the newly created resource can be accessed. ETag: Version of the resource   Example\nThe following commands add some tenants with different adapter configurations:\nAdd a tenant that has all adapters set to enabled:\ncurl -i -X POST -H 'Content-Type: application/json' http://localhost:28080/v1/tenants/tenantAllAdapters HTTP/1.1 201 Created ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4 Location: /v1/tenants/tenantAllAdapters Content-Type: application/json; charset=utf-8  Add a tenant that can only use the MQTT adapter:\ncurl -i -X POST -H 'Content-Type: application/json' --data-binary '{ \u0026quot;adapters\u0026quot; : [ { \u0026quot;type\u0026quot; : \u0026quot;hono-mqtt\u0026quot;, \u0026quot;enabled\u0026quot; : true } ] }' http://localhost:28080/v1/tenants/tenantMqttAdapter HTTP/1.1 201 Created ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4 Location: /v1/tenants/tenantMqttAdapter Content-Type: application/json; charset=utf-8 {\u0026quot;id\u0026quot;: \u0026quot;tenantMqttAdapter\u0026quot;}  Get configuration details of a Tenant  URI: /v1/tenants/${tenantId} Method: GET Status Codes:  200 (OK): A tenant with the given identifier has been found. The response body contains the tenant data as specified by Tenant schema of the HTTP API specification. 404 (Not Found): No tenant with the given identifier is registered.   Example\nThe following command retrieves the details for the tenant tenantMqttAdapter:\ncurl -i http://localhost:28080/v1/tenants/tenantMqttAdapter HTTP/1.1 200 OK ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4 Content-Type: application/json; charset=utf-8 { \u0026quot;enabled\u0026quot; : true, \u0026quot;adapters\u0026quot; : [ { \u0026quot;type\u0026quot; : \u0026quot;hono-mqtt\u0026quot;, \u0026quot;enabled\u0026quot; : true } ] }  Update Tenant  URI: /v1/tenants/${tenantId} Method: PUT Request Headers:  (required) Content-Type: application/json (no other type supported)  Request Body:  (required) A JSON object as specified by Tenant schema of the HTTP API specification.  Status Codes:  204 (No Content): The tenant has been updated successfully. 400 (Bad Request): The tenant has not been updated because the request was malformed, e .g. because the payload was malformed. The response body may contain hints regarding the cause of the problem. 404 (Not Found): The request could not be processed because no tenant with the given identifier exists.   This resource can be used to change the configuration of a particular tenant.\nExample\nThe following command disables the MQTT adapter for devices that belong to the tenant tenantMqttAdapter:\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '{ \u0026quot;adapters\u0026quot; : [ { \u0026quot;type\u0026quot; : \u0026quot;hono-mqtt\u0026quot;, \u0026quot;enabled\u0026quot; : true } ] }' http://localhost:28080/v1/tenants/tenantMqttAdapter HTTP/1.1 204 No Content ETag: 8919c736-30aa-40ce-a45a-830b90c4cd42 Content-Length: 0  Delete Tenant  URI: /v1/tenants/${tenantId} Method: DELETE Status Codes:  204 (No Content): The tenant with the given identifier has been deleted. 404 (Not Found): The request could not be processed because no tenant with the given identifier exists.   Example\ncurl -i -X DELETE http://localhost:28080/v1/tenants/tenantMqttAdapter HTTP/1.1 204 No Content Content-Length: 0  Managing Device Registration Information The following sections describe the resources representing the operations of the Device Registration API and how they can be used to manage device registration information. Please refer to the Device Registry HTTP API for the specific elements that are explained in detail there.\nRegister Device  URI: /v1/devices/${tenantId}/${deviceId} Method: POST Headers:  (required) Content-Type: application/json  Request Body:  (required) A JSON object as specified by Device schema of the HTTP API specification.  Status Codes:  201 (Created): Device has been registered successfully under resource indicated by Location header. 400 (Bad Request): Device has not been registered because the request was malformed, e .g. a required header is missing (the body may contain hints regarding the problem). 409 (Conflict): There already exists a device with the given ID. The request has not been processed.   Example\nThe following command registers a device with ID 4711\ncurl -i -X POST -H 'Content-Type: application/json' --data-binary '{ \u0026quot;ext\u0026quot;: { \u0026quot;ep\u0026quot;: \u0026quot;IMEI4711\u0026quot; } }' http://localhost:28080/v1/devices/DEFAULT_TENANT/4711  The response will contain a Location header containing the resource path created for the device. In this example it will look like this:\nHTTP/1.1 201 Created Location: /v1/devices/DEFAULT_TENANT/4711 ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4 {\u0026quot;id\u0026quot;: \u0026quot;4711\u0026quot;}  Read Device  URI: /v1/devices/${tenantId}/${deviceId} Method: GET Status Codes:  200 (OK): A device with the given identifier has been found. The response body contains the registration information as specified by Device schema of the HTTP API specification. 404 (Not Found): No device with the given identifier is registered for the given tenant.   Example\nThe following command retrieves registration data for device 4711:\ncurl -i http://localhost:28080/v1/devices/DEFAULT_TENANT/4711 HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { \u0026quot;enabled\u0026quot;: true, \u0026quot;ext\u0026quot;: { \u0026quot;ep\u0026quot;: \u0026quot;IMEI4711\u0026quot; } }  Update Device  URI: /devices/v1/${tenantId}/${deviceId} Method: PUT Headers:  (required) Content-Type: application/json  Parameters (encoded as a JSON object in the request body): Request Body:  (required) A JSON object as specified by Device schema of the HTTP API specification. All existing registration information will be replaced by the data provided in the object.  Status Codes:  204 (No Content): Device registration data has been updated. 400 (Bad Request): Device registration has not been updated because the request was malformed, e .g. a required header is missing (the body may contain hints regarding the problem). 404 (Not Found): No device with the given identifier is registered for the given tenant.   Example\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '{ \u0026quot;ext\u0026quot;: { \u0026quot;ep\u0026quot;: \u0026quot;IMEI4711\u0026quot;, \u0026quot;psk-id\u0026quot;: \u0026quot;psk4711\u0026quot; } }' http://localhost:28080/v1/devices/DEFAULT_TENANT/4711 HTTP/1.1 204 No Content Content-Length: 0  Delete Device  URI: /v1/devices/${tenantId}/${deviceId} Method: DELETE Status Codes:  204 (No Content): Device registration has been deleted. 404 (Not Found): No device with the given identifier is registered for the given tenant.   Example\ncurl -i -X DELETE http://localhost:28080/v1/devices/DEFAULT_TENANT/4711 HTTP/1.1 204 No Content Content-Length: 0  Managing Credentials The following sections describe the resources representing the operations of the Credentials API and how they can be used to manage credentials for devices. Please refer to the Device Registry HTTP API for the specific elements that are explained in detail there.\nUpdate Credentials for a Device  URI: /v1/credentials/${tenantId}/${deviceId} Method: PUT Request Headers:  (required) Content-Type: application/json (no other type supported)  Request Body:  (required) A JSON object as specified by Credentials schema of the HTTP API specification.  Status Codes:  204 (No Content): Credentials have been updated successfully. 400 (Bad Request): The credentials have not been added because the request was malformed, e .g. because the payload did not contain required values. The response body may contain hints regarding the cause of the problem.  Response Headers:  ETag: Version of the resource   Example\nThe following command adds some hashed-password credentials from a given plain text password for device 4710 using authentication identifier sensor10:\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '[{ \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor10\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;pwd-plain\u0026quot;: \u0026quot;mylittlesecret\u0026quot; }] }]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4710 HTTP/1.1 204 No Content ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4x  This uses a convenient option which lets the Device Registry do the hashing of the password. The following command retrieves the credentials that are stored by the Device Registry as a result of the command above:\ncurl -i http://localhost:28080/v1/credentials/DEFAULT_TENANT/4710 HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4x [{ \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor10\u0026quot;, \u0026quot;enabled\u0026quot;: true, \u0026quot;secrets\u0026quot;: [ { \u0026quot;pwd-hash\u0026quot;: \u0026quot;$2a$10$uc.qVDwXeDRE1DWa1sM9iOaY9wuevjfALGMtXmHKP.SJDEqg0q7M6\u0026quot;, \u0026quot;hash-function\u0026quot;: \u0026quot;bcrypt\u0026quot; } ] }]  The following commands add some hashed-password credentials for device 4720 using authentication identifier sensor20:\nPWD_HASH=$(echo -n \u0026quot;mylittlesecret\u0026quot; | openssl dgst -binary -sha512 | base64 -w 0) curl -i -X PUT -H 'Content-Type: application/json' --data-binary '[{ \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor20\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;hash-function\u0026quot; : \u0026quot;sha-512\u0026quot;, \u0026quot;pwd-hash\u0026quot;: \u0026quot;'$PWD_HASH'\u0026quot; }] }]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720 HTTP/1.1 204 No Content ETag: 02c99fb5-af8c-409f-8520-b405e224b27f  The following command adds an expiration date to the hashed-password credentials for authentication identifier sensor20:\nPWD_HASH=$(echo -n \u0026quot;mylittlesecret\u0026quot; | openssl dgst -binary -sha512 | base64 -w 0) curl -i -X PUT -H 'Content-Type: application/json' --data-binary '{ \u0026quot;device-id\u0026quot;: \u0026quot;4720\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor20\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;hash-function\u0026quot; : \u0026quot;sha-512\u0026quot;, \u0026quot;pwd-hash\u0026quot;: \u0026quot;'$PWD_HASH'\u0026quot;, \u0026quot;not-after\u0026quot;: \u0026quot;2018-01-01T00:00:00+01:00\u0026quot; }] }' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720 HTTP/1.1 204 No Content ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4x  Multiple credentials of different type can be registered for the same authentication identifier. The following commands add psk credentials for the same device 4720 using authentication identifier sensor20:\nSHARED_KEY=$(echo -n \u0026quot;TheSharedKey\u0026quot; | base64 -w 0) curl -i -X PUT -H 'Content-Type: application/json' --data-binary '[ { \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor20\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;hash-function\u0026quot; : \u0026quot;bcrypt\u0026quot;, \u0026quot;pwd-hash\u0026quot;: \u0026quot;$2a$10$uc.qVDwXeDRE1DWa1sM9iOaY9wuevjfALGMtXmHKP.SJDEqg0q7M6\u0026quot; }] }, { \u0026quot;device-id\u0026quot;: \u0026quot;4720\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;psk\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor20\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;key\u0026quot; : \u0026quot;'$SHARED_KEY'\u0026quot; }] }]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720 HTTP/1.1 204 No Content ETag: 122c971a-505a-4336-8f7d-640360e909bc  The following command deletes all credentials for device 4710:\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '[]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4710 HTTP/1.1 204 No Content ETag: d383ba4d-1853-4d03-b322-b7ff5af05ae2  Get all Credentials for a Device  URI: /v1/credentials/${tenantId}/${deviceId} Method: GET Status Codes:  200 (OK): Credentials for the device have been found, body contains the credentials. The response body contains the registration information as specified by Credentials schema of the HTTP API specification. 404 (Not Found): No credentials for the device are registered.   Example\nThe following command retrieves credentials for device 4720:\ncurl -i http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720 HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 ETag: f3449b77-2c84-4b09-8d04-2b305876e0cb {[ { \u0026quot;auth-id\u0026quot;: \u0026quot;sensor20\u0026quot;, \u0026quot;enabled\u0026quot;: true, \u0026quot;secrets\u0026quot;: [ { \u0026quot;hash-function\u0026quot;: \u0026quot;sha-512\u0026quot;, \u0026quot;pwd-hash\u0026quot;: \u0026quot;tnxz0zDFs+pJGdCVSuoPE4TnamXsfIjBEOb0rg3e9WFD9KfbCkoRuwVZKgRWInfqp87kCLsoV/HEwdJwgw793Q==\u0026quot; } ], \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot; }, { \u0026quot;auth-id\u0026quot;: \u0026quot;sensor20\u0026quot;, \u0026quot;enabled\u0026quot;: true, \u0026quot;secrets\u0026quot;: [ { \u0026quot;key\u0026quot;: \u0026quot;VGhlU2hhcmVkS2V5\u0026quot; } ], \u0026quot;type\u0026quot;: \u0026quot;psk\u0026quot; } ]} "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/",
+	"title": "HTTP Adapter",
+	"tags": [],
+	"description": "",
+	"content": "The HTTP protocol adapter exposes an HTTP based API for Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry and Event endpoints.\nDevice Authentication The HTTP adapter by default requires clients (devices or gateway components) to authenticate during connection establishment. The adapter supports both the Basic HTTP authentication scheme as well as client certificate based authentication as part of a TLS handshake for that purpose.\nThe adapter tries to authenticate the device using these mechanisms in the following order\nClient Certificate 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 issuer DN contained in the certificate. In order for the lookup to succeed, the tenant\u0026rsquo;s trust anchor needs to be configured by means of registering the trusted certificate authority. The device\u0026rsquo;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\u0026rsquo;s get operation with the client certificate\u0026rsquo;s subject DN as the auth-id and x509-cert as the type of secret as query parameters.\nNB: The HTTP adapter needs to be configured for TLS in order to support this mechanism.\nHTTP Basic Auth The username provided in the header must have the form auth-id@tenant, e.g. sensor1@DEFAULT_TENANT. The adapter verifies the credentials provided by the client against the credentials that the configured Credentials service has on record for the client. The adapter uses the Credentials API\u0026rsquo;s get operation to retrieve the credentials on record with the tenant and auth-id provided by the device in the username and hashed-password as the type of secret as query parameters.\nThe examples below refer to devices 4711 and gw-1 of tenant DEFAULT_TENANT using auth-ids sensor1 and gw1 and corresponding passwords. The example deployment as described in the Deployment Guides comes pre-configured with the corresponding entities in its device registry component. Please refer to the Credentials API for details regarding the different types of secrets.\nNB There is a subtle difference between the device identifier (device-id) and the auth-id a device uses for authentication. See Device Identity for a discussion of the concepts.\nMessage Limits Before accepting any telemetry or event or command messages, the HTTP adapter verifies that the configured message limit is not exceeded. If the limit is exceeded then the incoming message is discarded with the status code 429 Too Many Requests.\nPublish Telemetry Data (authenticated Device)  URI: /telemetry Method: POST Request Headers:  (optional) Authorization: The device\u0026rsquo;s auth-id and plain text password encoded according to the Basic HTTP authentication scheme. If not set, the adapter expects the device to present a client certificate as part of the TLS handshake during connection establishment. (required) Content-Type: The type of payload contained in the request body. (optional) hono-ttd: The number of seconds the device will wait for the response. (since 0.6) (optional) QoS-Level: The QoS level for publishing telemetry messages. Only QoS 1 is supported by the adapter. (since 0.6)  Request Body:  (required) Arbitrary payload encoded according to the given content type.  Response Headers:  (optional) Content-Type: 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. (since 0.7) (optional) hono-command: 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. (since 0.6) (optional) hono-cmd-req-id: 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. (since 0.6)  Response Body:  (optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200. (optional) Error details, if status code is \u0026gt;= 400.  Status Codes:  200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute. 202 (Accepted): The telemetry data has been accepted for processing. Note that if the QoS-Level request header is missing, the adapter does not guarantee successful delivery to potential consumers. However, if the QoS-Level header is set to 1 (at least once semantics), then the adapter waits for the message to be delivered and accepted by a downstream peer before responding with a 2xx status code to the device. 400 (Bad Request): The request cannot be processed. Possible reasons for this include:  The content type header is missing. The request body is empty. The QoS header value is invalid.  401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials. 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  The given tenant is not allowed to use this protocol adapter.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.\n 503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.   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).\nExamples\nPublish some JSON data for device 4711:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry HTTP/1.1 202 Accepted Content-Length: 0  Publish some JSON data for device 4711 using at least once QoS:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' -H 'QoS-Level: 1' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://localhost:8080/telemetry HTTP/1.1 202 Accepted Content-Length: 0  Publish some JSON data for device 4711, indicating that the device will wait for 10 seconds to receive the response:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' -H 'hono-ttd: 10' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://localhost:8080/telemetry HTTP/1.1 200 OK hono-command: set hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92 Content-Length: 23 { \u0026quot;brightness\u0026quot; : 87 }  Publish some JSON data for device 4711 using a client certificate for authentication:\n# 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 '{\u0026quot;temp\u0026quot;: 5}' https://localhost:8443/telemetry HTTP/1.1 202 Accepted content-length: 0  NB: The example above assumes that the HTTP adapter is configured for TLS and the secure port is used.\nPublish Telemetry Data (unauthenticated Device)  URI: /telemetry/${tenantId}/${deviceId} Method: PUT Request Headers:  (required) Content-Type: The type of payload contained in the body. (optional) hono-ttd: The number of seconds the device will wait for the response. (since 0.6) (optional) QoS-Level: The QoS level for publishing telemetry messages. Only QoS 1 is supported by the adapter. (since 0.6)  Request Body:  (required) Arbitrary payload encoded according to the given content type.  Response Headers:  (optional) Content-Type: 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. (since 0.7) (optional) hono-command: 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. (since 0.6) (optional) hono-cmd-req-id: 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. (since 0.6)  Response Body:  (optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200. (optional) Error details, if status code is \u0026gt;= 400.  Status Codes:  200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute. 202 (Accepted): The telemetry data has been accepted for processing. Note that if the QoS-Level request header is missing, the adapter does not guarantee successful delivery to potential consumers. However, if the QoS-Level header is set to 1 (at least once semantics), then the adapter waits for the message to be delivered and accepted by a downstream peer before responding with a 2xx status code to the device. 400 (Bad Request): The request cannot be processed. Possible reasons for this include:  The content type header is missing. The request body is empty. The QoS header value is invalid.  403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  The given tenant is not allowed to use this protocol adapter. The given device does not belong to the given tenant.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.\n 503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.   This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the HONO_HTTP_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false.\nExamples\nPublish some JSON data for device 4711:\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4711 HTTP/1.1 202 Accepted Content-Length: 0  Publish some JSON data for device 4711 using at least once QoS:\ncurl -i -X PUT -H 'Content-Type: application/json' -H 'QoS-Level: 1' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4711 HTTP/1.1 202 Accepted Content-Length: 0  Publish some JSON data for device 4711, indicating that the device will wait for 10 seconds to receive the response:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' -H 'hono-ttd: 10' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://localhost:8080/telemetry HTTP/1.1 200 OK hono-command: set hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92 Content-Length: 23 { \u0026quot;brightness\u0026quot; : 87 }  Publish Telemetry Data (authenticated Gateway)  URI: /telemetry/${tenantId}/${deviceId} Method: PUT Request Headers:  (optional) Authorization: The gateway\u0026rsquo;s auth-id and plain text password encoded according to the Basic HTTP authentication scheme. If not set, the adapter expects the gateway to present a client certificate as part of the TLS handshake during connection establishment.  Request Headers:  (required) Content-Type: The type of payload contained in the body. (optional) hono-ttd: The number of seconds the device will wait for the response. (since 0.6) (optional) QoS-Level: The QoS level for publishing telemetry messages. Only QoS 1 is supported by the adapter. (since 0.6)  Request Body:  (required) Arbitrary payload encoded according to the given content type.  Response Headers:  (optional) Content-Type: 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. (since 0.7) (optional) hono-command: 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. (since 0.6) (optional) hono-cmd-req-id: 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. (since 0.6)  Response Body:  (optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200. (optional) Error details, if status code is \u0026gt;= 400.  Status Codes:  200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute. 202 (Accepted): The telemetry data has been accepted for processing. Note that if the QoS-Level request header is missing, the adapter does not guarantee successful delivery to potential consumers. However, if the QoS-Level header is set to 1 (at least once semantics), then the adapter waits for the message to be delivered and accepted by a downstream peer before responding with a 2xx status code to the device. 400 (Bad Request): The request cannot be processed. Possible reasons for this include:  The content type header is missing. The request body is empty. The QoS header value is invalid.  401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials. 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  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 on behalf of the device. The gateway associated with the device is not registered or disabled.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded. 503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.   This resource can be used by gateway components to publish data on behalf of 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 SigFox or LoRa. 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.\nThe protocol adapter checks the gateway\u0026rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a registration assertion for the device from the configured Device Registration service.\nExamples\nPublish some JSON data for device 4712:\ncurl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4712 HTTP/1.1 202 Accepted Content-Length: 0  Publish some JSON data for device 4712 using at least once QoS:\ncurl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'Content-Type: application/json' -H 'QoS-Level: 1' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry/DEFAULT_TENANT/4712 HTTP/1.1 202 Accepted Content-Length: 0  Publish some JSON data for device 4712, indicating that the gateway will wait for 10 seconds to receive the response:\ncurl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'Content-Type: application/json' -H 'hono-ttd: 10' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://localhost:8080/telemetry/DEFAULT_TENANT/4712 HTTP/1.1 200 OK hono-command: set hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92 Content-Length: 23 { \u0026quot;brightness\u0026quot; : 87 }  NB: The example above assumes that a gateway device has been registered with hashed-password credentials with auth-id gw and password gw-secret which is authorized to publish data on behalf of device 4712.\nPublish an Event (authenticated Device)  URI: /event Method: POST Request Headers:  (optional) Authorization: The device\u0026rsquo;s auth-id and plain text password encoded according to the Basic HTTP authentication scheme. If not set, the adapter expects the device to present a client certificate as part of the TLS handshake during connection establishment. (required) Content-Type: The type of payload contained in the body. (optional) hono-ttd: The number of seconds the device will wait for the response. (since 0.6)  Request Body:  (required) Arbitrary payload encoded according to the given content type.  Response Headers:  (optional) Content-Type: 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. (since 0.7) (optional) hono-command: 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. (since 0.6) (optional) hono-cmd-req-id: 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. (since 0.6)  Response Body:  (optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200. (optional) Error details, if status code is \u0026gt;= 400.  Status Codes:  200 (OK): The telemetry data has been accepted for processing. The response contains a command for the device to execute. 202 (Accepted): The event has been accepted for processing. 400 (Bad Request): The request cannot be processed. Possible reasons for this include:  The content type header is missing. The request body is empty but the event is not of type empty-notification.  401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials. 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  The given tenant is not allowed to use this protocol adapter.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded. 503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.   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).\nExample\nPublish some JSON data for device 4711:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;alarm\u0026quot;: true}' http://127.0.0.1:8080/event HTTP/1.1 202 Accepted Content-Length: 0  Publish an Event (unauthenticated Device)  URI: /event/${tenantId}/${deviceId} Method: PUT Request Headers:  (required) Content-Type: The type of payload contained in the body. (optional) hono-ttd: The number of seconds the device will wait for the response. (since 0.6)  Request Body:  (required) Arbitrary payload encoded according to the given content type.  Response Headers:  (optional) Content-Type: 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. (since 0.7) (optional) hono-command: 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. (since 0.6) (optional) hono-cmd-req-id: 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. (since 0.6)  Response Body:  (optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200. (optional) Error details, if status code is \u0026gt;= 400.  Status Codes:  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. 202 (Accepted): The event has been accepted and put to a persistent store for delivery to consumers. 400 (Bad Request): The request cannot be processed. Possible reasons for this include:  The content type header is missing. The request body is empty but the event is not of type empty-notification.  403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  The given tenant is not allowed to use this protocol adapter. The given device does not belong to the given tenant.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded. 503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.   This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the HONO_HTTP_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false.\nExamples\nPublish some JSON data for device 4711:\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '{\u0026quot;alarm\u0026quot;: true}' http://127.0.0.1:8080/event/DEFAULT_TENANT/4711 HTTP/1.1 202 Accepted Content-Length: 0  Publish an Event (authenticated Gateway)  URI: /event/${tenantId}/${deviceId} Method: PUT Request Headers:  (optional) Authorization: The gateway\u0026rsquo;s auth-id and plain text password encoded according to the Basic HTTP authentication scheme. If not set, the adapter expects the gateway to present a client certificate as part of the TLS handshake during connection establishment. (required) Content-Type: The type of payload contained in the body. (optional) hono-ttd: The number of seconds the device will wait for the response.  Request Body:  (required) Arbitrary payload encoded according to the given content type.  Response Headers:  (optional) Content-Type: 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. (since 0.7) (optional) hono-command: 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. (since 0.6) (optional) hono-cmd-req-id: 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. (since 0.6)  Response Body:  (optional) Arbitrary data serving as input to a command to be executed by the device, if status code is 200. (optional) Error details, if status code is \u0026gt;= 400.  Status Codes:  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. 202 (Accepted): The event has been accepted and put to a persistent store for delivery to consumers. 400 (Bad Request): The request cannot be processed. Possible reasons for this include:  The content type header is missing. The request body is empty but the event is not of type empty-notification.  401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials. 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  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 on behalf of the device. The gateway associated with the device is not registered or disabled.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded. 503 (Service Unavailable): The request cannot be processed because there is no consumer of telemetry data for the given tenant connected to Hono.   This resource can be used by gateway components to publish data on behalf of 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 SigFox or LoRa. 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.\nThe protocol adapter checks the gateway\u0026rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a registration assertion for the device from the configured Device Registration service.\nExamples\nPublish some JSON data for device 4712:\ncurl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/event/DEFAULT_TENANT/4712 HTTP/1.1 202 Accepted Content-Length: 0  NB: The example above assumes that a gateway device has been registered with hashed-password credentials with auth-id gw and password gw-secret which is authorized to publish data on behalf of device 4712.\nSpecifying the Time a Device will wait for a Response The adapter lets devices indicate the number of seconds they will wait for a response by setting a header or a query parameter.\nUsing an HTTP Header The (optional) hono-ttd header can be set in requests for publishing telemetry data or events.\nExample:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' -H 'hono-ttd: 60' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry HTTP/1.1 202 Accepted Content-Length: 0  Using a Query Parameter Alternatively the hono-ttd query parameter can be used:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;temp\u0026quot;: 5}' http://127.0.0.1:8080/telemetry?hono-ttd=60 HTTP/1.1 202 Accepted Content-Length: 0  Sending a Response to a Command (authenticated Device)  Since: 0.7 URI: /command/res/${commandRequestId} or /command/res/${commandRequestId}?hono-cmd-status=${status} Method: POST Request Headers:  (optional) Authorization: The device\u0026rsquo;s auth-id and plain text password encoded according to the Basic HTTP authentication scheme. If not set, the adapter expects the device to present a client certificate as part of the TLS handshake during connection establishment. (optional) Content-Type: 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. (since 0.7) (optional) hono-cmd-status: The status of the command execution. If not set, the adapter expects that the URI contains it as request parameter at the end.  Request Body:  (optional) Arbitrary data representing the result of processing the command on the device.  Status Codes:  202 (Accepted): The response has been accepted and was successfully delivered to the application. 400 (Bad Request): The request cannot be processed because the command status is missing. 401 (Unauthorized): The request cannot be processed because the request does not contain valid credentials.\n 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this include:  The given tenant is not allowed to use this protocol adapter.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.\n 503 (Service Unavailable): The request cannot be processed. Possible reasons for this include:  There is no application listening for a reply to the given commandRequestId. The application has already given up on waiting for a response.    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).\n Deprecation Previous versions of Hono used control instead of command as prefix in the command response URI. Using the control prefix is still supported but deprecated.  Example\nSend a response to a previously received command with the command-request-id req-id-uuid for device 4711:\ncurl -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;brightness-changed\u0026quot;: true}' http://127.0.0.1:8080/command/res/req-id-uuid?hono-cmd-status=200 HTTP/1.1 202 Accepted Content-Length: 0  Sending a Response to a Command (unauthenticated Device)  Since: 0.7 URI: /command/res/${tenantId}/${deviceId}/${commandRequestId} or /command/res/${tenantId}/${deviceId}/${commandRequestId}?hono-cmd-status=${status} Method: PUT Request Headers:  (optional) Content-Type: A media type describing the semantics and format of the payload contained in the request body (the outcome of processing the command). (since 0.7) (optional) hono-cmd-status: The status of the command execution. If not set, the adapter expects that the URI contains it as request parameter at the end.  Request Body:  (optional) Arbitrary data representing the result of processing the command on the device.  Status Codes:  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. 202 (Accepted): The event has been accepted and put to a persistent store for delivery to consumers. 400 (Bad Request): The request cannot be processed because the command status is missing. 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this might be:  The given tenant is not allowed to use this protocol adapter. The given device does not belong to the given tenant.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.\n 503 (Service Unavailable): The request cannot be processed. Possible reasons for this include:  There is no application listening for a reply to the given commandRequestId. The application has already given up on waiting for a response.    This resource MUST be used by devices that have not authenticated to the protocol adapter. Note that this requires the HONO_HTTP_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false.\n Deprecation Previous versions of Hono used control instead of command as prefix in the command response URI. Using the control prefix is still supported but deprecated.  Examples\nSend a response to a previously received command with the command-request-id req-id-uuid for the unauthenticated device 4711:\ncurl -i -X PUT -H 'Content-Type: application/json' --data-binary '{\u0026quot;brightness-changed\u0026quot;: 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  Sending a Response to a Command (authenticated Gateway)  Since: 0.7 URI: /command/res/${tenantId}/${deviceId}/${commandRequestId} or /command/res/${tenantId}/${deviceId}/${commandRequestId}?hono-cmd-status=${status} Method: PUT Request Headers:  (optional) Authorization: The gateway\u0026rsquo;s auth-id and plain text password encoded according to the Basic HTTP authentication scheme. If not set, the adapter expects the gateway to present a client certificate as part of the TLS handshake during connection establishment. (optional) Content-Type: A media type describing the semantics and format of the payload contained in the request body (the outcome of processing the command). (since 0.7) (optional) hono-cmd-status: The status of the command execution. If not set, the adapter expects that the URI contains it as request parameter at the end.  Request Body:  (optional) Arbitrary data representing the result of processing the command on the device.  Status Codes:  202 (Accepted): The event has been accepted and put to a persistent store for delivery to consumers. 400 (Bad Request): The request cannot be processed because the command status is missing. 403 (Forbidden): The request cannot be processed because the device\u0026rsquo;s registration status cannot be asserted. Possible reasons for this might be:  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 on behalf of the device. The gateway associated with the device is not registered or disabled.  404 (Not Found): The request cannot be processed because the device is disabled or does not exist. 429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded. 503 (Service Unavailable): The request cannot be processed. Possible reasons for this include:  There is no application listening for a reply to the given commandRequestId. The application has already given up on waiting for a response.    This resource can be used by gateway components to send the response to a command on behalf of 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 SigFox or LoRa. 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.\nThe protocol adapter checks the gateway\u0026rsquo;s authority to send responses to a command on behalf of the device implicitly by means of retrieving a registration assertion for the device from the configured Device Registration service.\n Deprecation Previous versions of Hono used control instead of command as prefix in the command response URI. Using the control prefix is still supported but deprecated.  Examples\nSend a response to a previously received command with the command-request-id req-id-uuid for device 4712:\ncurl -i -X PUT -u gw@DEFAULT_TENANT:gw-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;brightness-changed\u0026quot;: 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  NB: The example above assumes that a gateway device has been registered with hashed-password credentials with auth-id gw and password gw-secret which is authorized to publish data on behalf of device 4712.\nDownstream Meta Data The adapter includes the following meta data in the application properties of messages being sent downstream:\n   Name Type Description     device_id string The identifier of the device that the message originates from.   orig_adapter string Contains the adapter\u0026rsquo;s type name which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The HTTP adapter\u0026rsquo;s type name is hono-http.   orig_address string Contains the (relative) URI that the device has originally posted the data to.   ttd integer 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 hono-ttd header or request parameter.    The adapter also considers defaults registered for the device at either the tenant or the device level. The values of the default properties are determined as follows:\n If the message already contains a non-empty property of the same name, the value if unchanged. Otherwise, if a default property of the same name is defined in the device\u0026rsquo;s registration information, that value is used. Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.  Note that of the standard AMQP 1.0 message properties only the content-type and ttl can be set this way to a default value.\nTenant specific Configuration The adapter uses the Tenant API to retrieve tenant specific configuration for adapter type hono-http. The following properties are (currently) supported:\n   Name Type Default Value Description     enabled boolean true If set to false the adapter will reject all data from devices belonging to the tenant.   max-ttd integer 60 Defines a tenant specific upper limit for the time until disconnect property that devices may include in requests for uploading telemetry data or events. Please refer to the [Command \u0026amp; Control concept page]](/hono/docs/dev/concepts/command-and-control/) for a discussion of this parameter\u0026rsquo;s purpose and usage.\nIf this property is not set for the hono-http adapter type, the adapter will try to read this property from the tenant level configuration.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/",
+	"title": "MQTT Adapter",
+	"tags": [],
+	"description": "",
+	"content": "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.\nThe MQTT adapter is not a general purpose MQTT broker. In particular the adapter\n supports MQTT 3.1.1 only. does not maintain session state for clients and thus always sets the session present flag in its CONNACK packet to 0, regardless of the value of the clean session flag provided in a client\u0026rsquo;s CONNECT packet. ignores any Will included in a client\u0026rsquo;s CONNECT packet. only supports topic names/filters for devices to publish and subscribe to that are specific to Hono\u0026rsquo;s functionality as described in the following sections. does not support retaining messages. However, if an event or telemetry message\u0026rsquo;s retain flag is set to 1 then the corresponding AMQP 1.0 message being sent downstream by the adapter will contain an x-opt-retain message annotation containing the boolean value true. A downstream consumer may then react according to the presence of this annotation.  Authentication 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.\nThe adapter tries to authenticate the device using these mechanisms in the following order\nClient Certificate 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 issuer DN contained in the certificate. In order for the lookup to succeed, the tenant\u0026rsquo;s trust anchor needs to be configured by means of registering the trusted certificate authority. The device\u0026rsquo;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\u0026rsquo;s get operation with the client certificate\u0026rsquo;s subject DN as the auth-id and x509-cert as the type of secret as query parameters.\nNB The adapter needs to be configured for TLS in order to support this mechanism.\nUsername/Password When a device wants to authenticate using this mechanism, it needs to provide a username and a password in the MQTT CONNECT packet it sends in order to initiate the connection. The username must have the form auth-id@tenant, e.g. sensor1@DEFAULT_TENANT. The adapter verifies the credentials provided by the client against the credentials the configured Credentials service has on record for the client. The adapter uses the Credentials API\u0026rsquo;s get operation to retrieve the credentials on record with the tenant and auth-id provided by the client in the username and hashed-password as the type of secret as query parameters.\nThe examples below refer to devices 4711 and gw-1 of tenant DEFAULT_TENANT using auth-ids sensor1 and gw1 and corresponding passwords. The example deployment as described in the Deployment Guides comes pre-configured with the corresponding entities in its device registry component.\nNB There is a subtle difference between the device identifier (device-id) and the auth-id a device uses for authentication. See Device Identity for a discussion of the concepts.\nConnection Limits After verifying the credentials, the number of existing connections is checked against the configured resource-limits by the MQTT adapter. If the limit is exceeded then a return code 0x05 indicating Connection Refused: not authorised is sent back.\nMessage Limits Before accepting any telemetry or event or command messages, the MQTT adapter verifies that the configured message limit is not exceeded. The incoming message is discarded if the limit is exceeded.\nPublishing Telemetry Data The MQTT adapter supports the publishing of telemetry data by means of MQTT PUBLISH packets using either QoS 0 or QoS 1. Using QoS 1 will result in the adapter sending an MQTT PUBACK packet to the client once the message has been settled with the accepted outcome by the AMQP 1.0 Messaging Network.\nThis requires that\n the AMQP 1.0 Messaging Network has capacity to process telemetry messages for the client\u0026rsquo;s tenant and the messages published by the client comply with the format defined by the Telemetry API.  The protocol adapter checks the configured message limit 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.\nPublish Telemetry Data (authenticated Device)  Topic: telemetry or t Authentication: required Payload:  (required) Arbitrary payload   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\u0026rsquo;s tenant and device identity as part of the authentication process.\nExample\nPublish some JSON data for device 4711:\nmosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t telemetry -m '{\u0026quot;temp\u0026quot;: 5}'  Publish some JSON data for device 4711 using a client certificate for authentication:\n# in base directory of Hono repository: mosquitto_pub -p 8883 -t telemetry -m '{\u0026quot;temp\u0026quot;: 5}' --cert demo-certs/certs/device-4711-cert.pem --key demo-certs/certs/device-4711-key.pem --cafile demo-certs/certs/trusted-certs.pem  NB: The example above assumes that the MQTT adapter is configured for TLS and the secure port is used.\nPublish Telemetry Data (unauthenticated Device)  Topic: telemetry/${tenant-id}/${device-id} or t/${tenant-id}/${device-id} Authentication: none Payload:  (required) Arbitrary payload   This topic can be used by devices that have not authenticated to the protocol adapter. Note that this requires the HONO_MQTT_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false.\nExamples\nPublish some JSON data for device 4711:\nmosquitto_pub -t telemetry/DEFAULT_TENANT/4711 -m '{\u0026quot;temp\u0026quot;: 5}'  Publish Telemetry Data (authenticated Gateway)  Topic: telemetry/${tenant-id}/${device-id} or t/${tenant-id}/${device-id} Authentication: required Payload:  (required) Arbitrary payload   This topic can be used by gateway components to publish data on behalf of 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 SigFox or LoRa. 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.\nThe protocol adapter checks the gateway\u0026rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a registration assertion for the device from the configured Device Registration service.\nExamples\nPublish some JSON data for device 4712 via gateway gw-1:\nmosquitto_pub -u 'gw@DEFAULT_TENANT' -P gw-secret -t telemetry/DEFAULT_TENANT/4712 -m '{\u0026quot;temp\u0026quot;: 5}'  NB: The example above assumes that a gateway device with ID gw-1 has been registered with hashed-password credentials with auth-id gw and password gw-secret.\nPublishing Events The MQTT adapter supports the publishing of events by means of MQTT PUBLISH packets using QoS 1 only. The adapter will send an MQTT PUBACK packet to the client once the event has been settled with the accepted outcome by the AMQP 1.0 Messaging Network.\nThis requires that\n the AMQP 1.0 Messaging Network has capacity to process events for the client\u0026rsquo;s tenant and the events published by the client comply with the format defined by the Event API.  The protocol adapter checks the configured message limit 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.\nPublish an Event (authenticated Device)  Topic: event or e Authentication: required Payload:  (required) Arbitrary payload   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).\nExample\nUpload a JSON string for device 4711:\nmosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t event -q 1 -m '{\u0026quot;alarm\u0026quot;: 1}'  Publish an Event (unauthenticated Device)  Topic: event/${tenant-id}/${device-id} or e/${tenant-id}/${device-id} Authentication: none Payload:  (required) Arbitrary payload   This topic can be used by devices that have not authenticated to the protocol adapter. Note that this requires the HONO_MQTT_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false.\nExamples\nPublish some JSON data for device 4711:\nmosquitto_pub -t event/DEFAULT_TENANT/4711 -q 1 -m '{\u0026quot;alarm\u0026quot;: 1}'  Publish an Event (authenticated Gateway)  Topic: event/${tenant-id}/${device-id} or e/${tenant-id}/${device-id} Authentication: required Payload:  (required) Arbitrary payload   This topic can be used by gateway components to publish data on behalf of 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 SigFox or LoRa. 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.\nThe protocol adapter checks the gateway\u0026rsquo;s authority to publish data on behalf of the device implicitly by means of retrieving a registration assertion for the device from the configured Device Registration service.\nExamples\nPublish some JSON data for device 4712 via gateway gw-1:\nmosquitto_pub -u 'gw@DEFAULT_TENANT' -P gw-secret -t event/DEFAULT_TENANT/4712 -q 1 -m '{\u0026quot;temp\u0026quot;: 5}'  NB: The example above assumes that a gateway device with ID gw-1 has been registered with hashed-password credentials with auth-id gw and password gw-secret.\nCommand \u0026amp; Control The MQTT adapter supports devices to receive commands that have been sent by business applications by means of sending an MQTT SUBSCRIBE packet containing a device specific topic filter 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 SUBACK packet. The SUBACK packet will contain Success - QoS 0 (0x00) or Success - QoS 1 (0x01) for a command topic filter indicating QoS 0 or 1 and will contain the Failure (0x80) value for all other filters. When a device no longer wants to receive commands anymore, it can send an MQTT UNSUBSCRIBE packet to the adapter, including the same topic filter that has been used to subscribe.\nWhen a device has successfully subscribed, the adapter sends an empty notification on behalf of the device to the downstream AMQP 1.0 Messaging Network with the ttd header set to -1, indicating that the device will be ready to receive commands until further notice. Analogously, the adapter sends an empty notification with the ttd header set to 0 when a device unsubscribes from commands.\nCommands can be sent following a request/response pattern or being one-way.\nFor Request/Response commands, devices send their responses to commands by means of sending an MQTT PUBLISH 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.\nThe MQTT adapter checks the configured message limit 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 amqp:resource-limit-exceeded. And for the incoming command responses from devices, the Adapter rejects the message and closes the connection to the client.\nThe following sections define the topic filters/names to use for subscribing to and responding to commands. The following shorthand versions of topic path segments are supported:\n c instead of command q instead of req s instead of res   Note Previous versions of Hono used control instead of command as topic prefix. Using the control prefix is still supported but deprecated.  The following variables are used:\n ${command} : is an arbitrary string that indicates the command to execute, e.g. setBrightness. The command is provided by the application that sends the command. ${req-id} (only for Request/Response commands) : denotes the unique identifier of the command execution request and 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. ${status} : is the HTTP status code indicating the outcome of executing the command. This status code is passed on to the application in the AMQP message\u0026rsquo;s status header.  The property-bag 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 ? character, followed by pairs of URL encoded property names and values that are separated by \u0026amp;. The following example shows a property bag that contains two properties seqNo and importance:\n/topic/name/?seqNo=10034\u0026amp;importance=\u0026quot;high\u0026quot;  The MQTT adapter currently does not require nor use any properties.\nReceiving Commands (authenticated Device) An authenticated device MUST use the following topic filter to subscribe to commands:\n command/+/+/req/#  Example\nmosquitto_sub -v -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t command/+/+/req/#  The adapter will then publish commands for the device to topic:\n for Request/Response commands: command///req/${req-id}/${command}[/*][/property-bag] for one-way commands: command///req//${command}[/*][/property-bag]  Example\nFor example, if the HonoExampleApplication was started, after the ttd event requested by the subscription of mosquitto_sub, it layers a command that arrives as follows:\ncommand///q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness { \u0026quot;brightness\u0026quot; : 79 }  If the command is a one-way command, it will arrive as follows:\ncommand///q//setBrightness { \u0026quot;brightness\u0026quot; : 79 }  Receiving Commands (unauthenticated Device) An unauthenticated device MUST use the following topic filter to subscribe to commands:\n command/${tenant-id}/${device-id}/req/#  Example\nmosquitto_sub -v -t command/DEFAULT_TENANT/4711/req/#  The adapter will then publish Request/Response commands for the device to topic:\n command/${tenant-id}/${device-id}/req/${req-id}/${command}[/*][/property-bag]  and one-way commands to the topic:\n command/${tenant-id}/${device-id}/req//${command}[/*][/property-bag]  (For an example of the incoming command see above at authenticated device)\nSending a Response to a Command (authenticated Device) An authenticated device MUST send the response to a previously received command to the following topic:\n command///res/${req-id}/${status}  Example\nAfter a command has arrived as in the above example, you send a response using the arrived ${req-id}:\nmosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t command///res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m '{\u0026quot;lumen\u0026quot;: 200}'  Sending a Response to a Command (unauthenticated Device) An unauthenticated device MUST send the response to a previously received command to the following topic:\n command/${tenant-id}/${device-id}/res/${req-id}/${status}  Example\nAfter a command has arrived as in the above example, you send a response using the arrived ${req-id}:\nmosquitto_pub -t command/DEFAULT_TENANT/4711/res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m '{\u0026quot;lumen\u0026quot;: 200}'  Downstream Meta Data The adapter includes the following meta data in messages being sent downstream:\n   Name Location Type Description     device_id application string The identifier of the device that the message originates from.   orig_adapter application string Contains the adapter\u0026rsquo;s type name which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The MQTT adapter\u0026rsquo;s type name is hono-mqtt.   orig_address application string Contains the name of the MQTT topic that the device has originally published the data to.   x-opt-retain * message-annotations boolean Contains true if the device has published an event or telemetry message with its retain flag set to 1    The adapter also considers defaults registered for the device at either the tenant or the device level. The values of the default properties are determined as follows:\n If the message already contains a non-empty property of the same name, the value if unchanged. Otherwise, if a default property of the same name is defined in the device\u0026rsquo;s registration information, that value is used. Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.  Note that of the standard AMQP 1.0 message properties only the content-type and ttl can be set this way to a default value.\nTenant specific Configuration The adapter uses the Tenant API to retrieve tenant specific configuration for adapter type hono-mqtt. The following properties are (currently) supported:\n   Name Type Default Value Description     enabled boolean true If set to false the adapter will reject all data from devices belonging to the tenant.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter/",
+	"title": "AMQP Adapter",
+	"tags": [],
+	"description": "",
+	"content": "The AMQP protocol adapter allows clients (devices or gateway components) supporting the AMQP 1.0 protocol to publish messages to Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry, Event and Command \u0026amp; Control endpoints.\nDevice Authentication 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 SASL PLAIN and SASL EXTERNAL authentication mechanisms. The former uses a username and password to authenticate to the adapter while the latter uses a client certificate.\nIn this guide, we will give examples for publishing telemetry and events for authenticated (using SASL PLAIN) and unauthenticated clients.\nNB: The AMQP adapter can be configured to allow unauthenticated devices to connect by setting configuration variable HONO_AMQP_AUTHENTICATION_REQUIRED to false.\nSASL PLAIN Authentication The AMQP adapter supports authenticating clients using a username and password. This means that clients need to provide a username and a password when connecting to the AMQP adapter. If the adapter is configured for multi-tenancy (i.e HONO_AMQP_SINGLE_TENANT is set to false), then the username must match the pattern [auth-id@tenant], e.g. sensor1@DEFAULT_TENANT. Otherwise the DEFAULT_TENANT is assumed and the tenant-id can be omitted from the username.\nThe adapter verifies the credentials provided by the client against the credentials that the Credentials Service has on record for the device. If the credentials match, then authentication is successful and the client device can proceed to publish messages to Hono.\nThe examples below refer to devices 4711 and gw-1 of tenant DEFAULT_TENANT using auth-ids sensor1 and gw1 and corresponding passwords. The example deployment as described in the Deployment Guides comes pre-configured with the corresponding entities in its device registry component.\nNB There is a subtle difference between the device identifier (device-id) and the auth-id a device uses for authentication. See Device Identity for a discussion of the concepts.\nSASL EXTERNAL Authentication 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\u0026rsquo;s signature is checked during the SASL handshake. To complete the SASL handshake and authenticate the client, the adapter performs the following steps:\n Adapter extracts the client certificate\u0026rsquo;s Issuer DN and uses it to us the Tenant service to look up the tenant that the client belongs to. In order for the lookup to succeed, the tenant’s trust anchor needs to be configured by means of registering the trusted certificate authority. If the lookup succeeds, the Tenant service returns the tenant, thus implicitly establishing the tenant that the device belongs to. Adapter validates the device’s client certificate using the registered trust anchor for the tenant. Finally, adapter authenticates the client certificate using Hono\u0026rsquo;s credentials API. In this step, the adapter uses the client certificate’s Subject DN (as authentication identifier) and x509-cert (for the credentials type) in order to determine the device ID.  NB: The AMQP adapter needs to be configured for TLS in order to support this mechanism.\nConnection Limits After verifying the credentials, the number of existing connections is checked against the configured resource-limits by the AMQP adapter. If the limit is exceeded then the connection request is not accepted.\nMessage Limits Before accepting any telemetry or event or command messages, the AMQP adapter verifies that the configured message limit is not exceeded. The incoming message is discarded if the limit is exceeded.\nLink Establishment Clients can publish all types of messages to the AMQP adapter via a single anonymous sender link. Using AT MOST ONCE delivery semantics, the client will not wait for the message to be accepted and settled by the downstream consumer. However, with AT LEAST ONCE, 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.\nThe client indicates its preferred message delivery mode by means of the snd-settle-mode and rcv-settle-mode fields of its attach frame during link establishment. Clients should use mixed as the snd-settle-mode and first as the rcv-settle-mode 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.\nError Handling The AMQP adapter distinguishes between two types of errors when a message is published using at least once:\n An error caused by the client side, e.g invalid message address, content-type, adapter disabled for tenant etc. An error caused by the server side, e.g no downstream consumers registered, downstream connection loss etc.  For a client side error, the adapter settles the message transfer with the rejected 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 released 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.\nAMQP Command-line Client For purposes of demonstrating the usage of the AMQP adapter, the Hono CLI Module 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.\nThe command-line client supports the following parameters (with default values):\n --spring.profiles.active=amqp-send: Profile for sending telemetry data or events to Hono. --spring.profiles.active=amqp-command: Profile for receiving and responding to command request messages. --message.address: The AMQP 1.0 message address (default: telemetry) --message.payload: The message payload body (default: '{\u0026quot;temp\u0026quot;: 5}') --hono.client.host: The host name that the AMQP adapter is running on (default: localhost) --hono.client.port: The port that the adapter is listening for incoming connections (default: 5672)  To run the client to send a telemetry message to Hono, open a terminal and execute the following:\n# 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{}  The client prints the outcome of the operation to standard out. The outcome above (Accepted) indicates that the request to upload the data has succeeded.\nNB There are two JAR files in the hono/cli/target directory. The JAR to use for the client is the hono-cli-$VERSION-exec.jar and not the hono-cli-$VERSION.jar file. Running the latter will not work and will output the message: no main manifest attribute, in hono-cli-$VERSION.jar\nPublishing Telemetry Data The client indicates the delivery mode to use when uploading telemetry messages by means of the settled and rcv-settle-mode properties of the AMQP transfer frame(s) it uses for uploading the message. The AMQP adapter will accept messages using a delivery mode according to the following table:\n   settled rcv-settle-mode Delivery semantics     false first The adapter will forward the message to the downstream AMQP 1.0 Messaging Network and will forward any AMQP disposition frame received from the AMQP 1.0 Messaging Network to the client as is. It is up to the client\u0026rsquo;s discretion if and how it processes the disposition frame. The adapter will accept any re-delivered message. Sending unsettled messages allows for clients to implement either AT LEAST ONCE or AT MOST ONCE 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.   true first 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 disposition frames it receives from the AMQP 1.0 Messaging Network. Sending pre-settled messages allows for clients to implement AT MOST ONCE 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.    All other combinations are not supported by the adapter and will result in the message being ignored (pre-settled) or rejected (unsettled).\nPublish Telemetry Data (authenticated Device) The AMQP adapter supports publishing of telemetry data to Hono\u0026rsquo;s Telemetry API. Telemetry messages can be published using either AT LEAS ONCE or *AT MOST ONCE delivery semantics.\n Message Address: telemetry or t  This refers to the to property of the message.  Settlement Mode: presettled (AT MOST ONCE) or unsettled (AT LEAST ONCE) Authentication: SASL PLAIN or SASL EXTERNAL Message Body:  (optional) Arbitrary payload  Message properties:  (optional) Arbitrary properties (content-type, correlation-id, \u0026hellip;)  Disposition Frames:  Accepted: Message successfully processed by the adapter. Released: Message cannot be processed and should be redelivered. Rejected: Adapter rejects the message due to one of the following:  (hono:bad-request): Request rejected due to a bad client request. (amqp:unauthorized-access): Request rejected because the adapter is disabled for tenant. (amqp:precondition-failed): Request does not fulfill certain requirements e.g adapter cannot assert device registration etc. (amqp:resource-limit-exceeded): Request rejected because the message limit for the given tenant is exceeded.    When a device publishes data to the telemetry address, the AMQP adapter automatically determines the device\u0026rsquo;s identity and tenant during the authentication process.\nExample\nPublish some JSON data for device 4711:\n# 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  Notice that we only supplied a new value for the message address, leaving the other default values.\nPublish some JSON data for device 4711 using a client certificate for authentication:\n# 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  Publish Telemetry Data (unauthenticated Device)  Message Address: telemetry/${tenant-id}/${device-id} or t/${tenant-id}/${device-id} Settlement Mode: presettled (AT MOST ONCE) or unsettled (AT LEAST ONCE) Authentication: none Message Body:  (optional) Arbitrary payload  Message properties:  (optional) Arbitrary properties (content-type, correlation-id, \u0026hellip;)  Disposition Frames:  Accepted: Message successfully processed by the adapter. Released: Message cannot be processed and should be redelivered. Rejected: Adapter rejects the message due to:  (hono:bad-request): A bad client request (e.g invalid content-type). (amqp:unauthorized-access): The adapter is disabled for tenant. (amqp:precondition-failed): Request not fulfilling certain requirements. (amqp:resource-limit-exceeded): Request rejected because the message limit for the given tenant is exceeded.    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 HONO_AMQP_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false before starting the protocol adapter.\nExamples\nPublish some JSON data for device 4711:\n# in directory: hono/cli/target/ java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --message.address=t/DEFAULT_TENANT/4711  Publish Telemetry Data (authenticated Gateway) A device that publishes data on behalf of another device is called a gateway device. The message address is used by gateway components to publish data on behalf of 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 SigFox or LoRa. 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.\nExamples\nA Gateway connecting to the adapter using gw@DEFAULT_TENANT as username and gw-secret as password and then publishing some JSON data for device 4711:\n# 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  In this example, we are using message address t/DEFAULT_TENANT/4711 which contains the device that the gateway is publishing the message for.\nPublishing Events The adapter supports AT LEAST ONCE delivery of Event messages only. A client therefore MUST set the settled property to false and the rcv-settle-mode property to first in all transfer frame(s) it uses for uploading events. All other combinations are not supported by the adapter and result in the message being rejected.\nPublish an Event (authenticated Device)  Message Address: event or e Settlement Mode: unsettled (AT LEAST ONCE) Authentication: SASL PLAIN or SASL EXTERNAL Message Body:  (optional) Arbitrary payload  Message properties:  (optional) Arbitrary properties (content-type, correlation-id, \u0026hellip;)  Disposition Frames:  Accepted: Message successfully processed by the adapter. Released: Message cannot be processed and should be redelivered. Rejected: Adapter rejects the message due to:  (hono:bad-request): A bad client request (e.g invalid content-type). (amqp:unauthorized-access): The adapter is disabled for tenant. (amqp:precondition-failed): Request not fulfilling certain requirements. (amqp:resource-limit-exceeded): Request rejected because the message limit for the given tenant is exceeded.    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).\nExample\nUpload a JSON string for device 4711:\n# 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='{\u0026quot;alarm\u0026quot;: 1}'  Publish an Event (unauthenticated Device)  Message Address: event/${tenant-id}/${device-id} or e/${tenant-id}/${device-id} Settlement Mode: unsettled (AT LEAST ONCE) Message Body:  (optional) Arbitrary payload  Message properties:  (optional) Arbitrary properties (content-type, correlation-id, \u0026hellip;)  Disposition Frames:  Accepted: Message successfully processed by the adapter. Released: Message cannot be processed and should be redelivered. Rejected: Adapter rejects the message due to:  (hono:bad-request): A bad client request (e.g invalid content-type). (amqp:unauthorized-access): The adapter is disabled for tenant. (amqp:precondition-failed): Request not fulfilling certain requirements. (amqp:resource-limit-exceeded): Request rejected because the message limit for the given tenant is exceeded.    This address format is used by devices that have not authenticated to the protocol adapter. Note that this requires the HONO_AMQP_AUTHENTICATION_REQUIRED configuration property to be explicitly set to false.\nExamples\nPublish some JSON data for device 4711:\n# in directory: hono/cli/target/ java -jar hono-cli-*-exec.jar --spring.profiles.active=amqp-send --message.address=e/DEFAULT_TENANT/4711 --message.payload='{\u0026quot;alarm\u0026quot;: 1}'  Publish an Event (authenticated Gateway) Examples\nA Gateway connecting to the adapter using gw@DEFAULT_TENANT as username and gw-secret as password and then publishing some JSON data for device 4711:\n# 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  In this example, we are using message address e/DEFAULT_TENANT/4711 which contains the device that the gateway is publishing the message for.\nCommand \u0026amp; Control The AMQP adapter supports devices to receive commands that have been sent by business applications by means of opening a receiver link using a device specific source address as described below. When a device no longer wants to receive commands anymore, it can simply close the link.\nWhen a device has successfully opened a receiver link for commands, the adapter sends an empty notification on behalf of the device to the downstream AMQP 1.0 Messaging Network with the ttd header set to -1, indicating that the device will be ready to receive commands until further notice. Analogously, the adapter sends an empty notification with the ttd header set to 0 when a device closes the link or disconnects.\nDevices 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 at most once (QoS 0) or at least once (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.\nThe AMQP adapter checks the configured message limit 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 amqp:resource-limit-exceeded.\nReceiving Commands A device MUST use the following source address in its attach frame to open a link for receiving commands:\n command (authenticated device) command/${tenant}/${device-id} (unauthenticated device)   Note Previous versions of Hono used control instead of command as address prefix. Using the control prefix is still supported but deprecated.  The adapter supports AT LEAST ONCE delivery of command messages only. A client therefore MUST use unsettled for the snd-settle-mode and first for the rcv-settle-mode fields of its attach frame during link establishment. All other combinations are not supported and result in the termination of the link.\nOnce the link has been established, the adapter will send command messages having the following properties:\n   Name Mandatory Location Type Description     subject yes properties string Contains the name of the command to be executed.   reply-to no properties string Contains the address to which the command response should be sent. This property will be empty for one-way commands.   correlation-id no properties string This property will be empty for one-way commands, otherwise it will contain the identifier used to correlate the response with the command request.    Sending a Response to a Command A device only needs to respond to commands that contain a reply-to address and a correlation-id. 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.\nThe adapter supports AT LEAST ONCE delivery of command response messages only. A client therefore MUST set the settled property to true and the rcv-settle-mode property to first in all transfer frame(s) it uses for uploading command responses. All other combinations are not supported by the adapter and result in the message being rejected.\nThe table below provides an overview of the properties that must be set on a command response message:\n   Name Mandatory Location Type Description     to yes properties string MUST contain the value of the reply-to property of the command request message.   correlation-id yes properties string MUST contain the value of the correlation-id property of the command request message.   status yes application-properties integer MUST contain a status code indicating the outcome of processing the command at the device (see Command \u0026amp; Control API for details).    Examples 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.\nStart the AMQP adapter client, as follows:\n# 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 Device is now ready to receive commands (Press Ctrl + c to terminate)  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. To send a command to the device, open a new terminal shell and start the command application, as shown below:\n# 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 \u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt; Enter name of command for device [DEFAULT_TENANT:4711] (prefix with 'ow:' to send one-way command): setBrightness \u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt; Enter command payload: some-payload \u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt;\u0026gt; Enter content type: text/plain   Note Change into the cli directory before running the command above to start the command application. If you change into the target directory (i.e cli/target), then the client will not be able to locate to certificate needed to connect to the messaging network.  Once the command application starts successfully, enter a command name, payload and content-type of the command to send to the device.\nAfter 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.\n$ Received Command Message : [Command name: setBrightness, Command payload: some-payload] $ Command response sent [outcome: Accepted{}]  Downstream Meta Data The adapter includes the following meta data in the application properties of messages being sent downstream:\n   Name Type Description     device_id string The identifier of the device that the message originates from.   orig_adapter string Contains the adapter\u0026rsquo;s type name which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The AMQP adapter\u0026rsquo;s type name is hono-amqp.   orig_address string Contains the AMQP target address that the device has used to send the data.    The adapter also considers defaults registered for the device at either the tenant or the device level. The values of the default properties are determined as follows:\n If the message already contains a non-empty property of the same name, the value if unchanged. Otherwise, if a default property of the same name is defined in the device\u0026rsquo;s registration information, that value is used. Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.  Note that of the standard AMQP 1.0 message properties only the content-type and ttl can be set this way to a default value.\nTenant specific Configuration The adapter uses the Tenant API to retrieve tenant specific configuration for adapter type hono-amqp. The following properties are (currently) supported:\n   Name Type Default Value Description     enabled boolean true If set to false the adapter will reject all data from devices belonging to the tenant and respond with a amqp:unauthorized-access as the error condition value for rejecting the message.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter/",
+	"title": "Kura Adapter",
+	"tags": [],
+	"description": "",
+	"content": "The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura\u0026trade; based gateways to publish control and data messages to Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry and Event endpoints.\n Note 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.  The Kura adapter by default requires devices (gateways) to authenticate during connection establishment. In order to do so, gateways need to provide a username and a password in the MQTT CONNECT packet. The username must have the form auth-id@tenant, e.g. sensor1@DEFAULT_TENANT. The adapter verifies the credentials provided by the gateway against the credentials the configured Credentials service has on record for the gateway. The adapter uses the Credentials API\u0026rsquo;s get operation to retrieve the credentials-on-record with the tenant and auth-id provided by the device in the username and hashed-password as the type of secret as query parameters.\nPlease refer to the Eclipse Kura documentation on how to configure the gateway\u0026rsquo;s cloud service connection accordingly. It is important to set the gateway\u0026rsquo;s topic.context.account-name to the ID of the Hono tenant that the gateway has been registered with whereas the gateway\u0026rsquo;s client-id needs to be set to the corresponding Hono device ID. The auth-id used as part of the gateway\u0026rsquo;s username property needs to match the authentication identifier of a set of credentials registered for the device ID in Hono\u0026rsquo;s Credentials service. In other words, the credentials configured on the gateway need to belong to the corresponding device ID.\nOnce the gateway has established a connection to the Kura adapter, all control and data messages published by applications running on the gateway are sent to the adapter and mapped to Hono\u0026rsquo;s Telemetry and Event API endpoints as follows:\n The adapter treats all messages that are published to a topic starting with the configured HONO_KURA_CONTROL_PREFIX as control messages. All other messages are considered to be data messages. control messages with QoS 0 are forwarded to Hono\u0026rsquo;s 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 application/vnd.eclipse.kura-control. data 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 application/vnd.eclipse.kura-data.  Downstream Meta Data The adapter includes the following meta data in messages being sent downstream:\n   Name Location Type Description     device_id application string The identifier of the device that the message originates from.   orig_adapter application string Contains the adapter\u0026rsquo;s type name which can be used by downstream consumers to determine the protocol adapter that the message has been received over. The Kura adapter\u0026rsquo;s type name is hono-kura-mqtt.   orig_address application string Contains the name of the MQTT topic that the Kura gateway has originally published the data to.    The adapter also considers defaults registered for the device at either the tenant or the device level. The values of the default properties are determined as follows:\n If the message already contains a non-empty property of the same name, the value if unchanged. Otherwise, if a default property of the same name is defined in the device\u0026rsquo;s registration information, that value is used. Otherwise, if a default property of the same name is defined for the tenant that the device belongs to, that value is used.  Note that of the standard AMQP 1.0 message properties only the content-type and ttl can be set this way to a default value.\nTenant specific Configuration The adapter uses the Tenant API to retrieve tenant specific configuration for adapter type hono-kura-mqtt. The following properties are (currently) supported:\n   Name Type Default Value Description     enabled boolean true If set to false the adapter will reject all data from devices belonging to the tenant.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/",
+	"title": "Sigfox Adapter",
+	"tags": [],
+	"description": "",
+	"content": "The Sigfox protocol adapter exposes an HTTP endpoint for connecting up with the Sigfox backend for publishing telemetry, events and use command \u0026amp; control.\n Tech preview This protocol adapter is not considered production ready. Its APIs might still be subject to change without warning.  Pre-requisites This Sigfox adapter only connects to the Sigfox backend system (backend.sigfox.com). It does not allow direct access to Sigfox devices.\nSo you need to set up your Sigfox devices on backend.sigfox.com and then configure the callbacks connect to your installation of Hono.\nDevices and credentials In a nutshell, the Sigfox adapter requires a single device 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.\nSetup example The following sub-sections walk you through an example setup.\nRegistering devices This example assumes that the Sigfox protocol adapter is available as https://iot-sigfox-adapter.my.hono.\nCreate a new gateway device with the following registration:\n{ \u0026quot;device-id\u0026quot;: \u0026quot;sigfox-backend\u0026quot; }  Create new credentials for the gateway device. For example, using a username of sigfox and a password of test12:\n{ \u0026quot;auth-id\u0026quot;: \u0026quot;sigfox\u0026quot;, \u0026quot;device-id\u0026quot;: \u0026quot;sigfox-backend\u0026quot;, \u0026quot;enabled\u0026quot;: true, \u0026quot;secrets\u0026quot;: [ { \u0026quot;pwd-plain\u0026quot;: \u0026quot;test12\u0026quot;, } ], \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot; }  Create a new device, referencing the previous gateway device. The device id must be your Sigfox device ID (e.g. 1AB2C3):\n{ \u0026quot;device-id\u0026quot;: \u0026quot;1AB2C3\u0026quot;, \u0026quot;via\u0026quot;: \u0026quot;sigfox-backend\u0026quot; }  Setting up callbacks Log in to the Sigfox backend at https://backend.sigfox.com and then open up the view Device Type -\u0026gt; Callbacks.\nCreate a new \u0026ldquo;Custom\u0026rdquo; callback, with the following settings (replacing \u0026lt;TENANT\u0026gt; with the name of the tenant):\n Type: DATA – UPLINK Channel: URL Url pattern: https://iot-sigfox-adapter.my.hono/data/telemetry/\u0026lt;TENANT\u0026gt;?device={device}\u0026amp;data={data} Use HTTP Method: GET Headers  Authorization – Basic … (see note below)  Send SNI: ☑ (Enabled)   Credentials At the moment you need to manually put in the Authorization header, you cannot put the credentials into the URL, as there is a bug in the Sigfox backend, which cannot be fixed by Hono. The backend does not properly escape the @ character, and thus sends foo%40tenant instead of foo@tenant to the Hono protocol adapter.\nAs a workaround, you can explicitly set the Authorization header to a value of Basic \u0026lt;base64 encoded credentials\u0026gt;. You can encode the credentials using:\necho -n \u0026quot;sigfox@tenant:password\u0026quot; | base64  To get the full value, including the Basic you may use:\necho \u0026quot;Basic $(echo -n \u0026quot;sigfox@tenant:password\u0026quot; | base64)\u0026quot;    Events You can send events by using the path /data/event on the URL.\nConsuming data Use the standard way of consuming Hono messages.\nKnown bugs and limitations  Command and control is currently not supported Only the simple URL and only data (no service or device events are currently supported. "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/user-guide/jmeter_load_tests/",
+	"title": "Load Tests with JMeter",
+	"tags": [],
+	"description": "",
+	"content": "Eclipse Hono\u0026trade; comes with an Apache JMeter plugin which provides samplers that can be used in JMeter test plans to send and receive telemetry/event data.\nThe plugin provides a Hono Receiver Sampler which can be used together with JMeter\u0026rsquo;s standard HTTP Sampler and XMeter\u0026rsquo;s JMeter plugin for MQTT 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.\n  JMeter with Hono   Installation  Install JMeter Copy the plugin jar file \u0026lt;hono-installation\u0026gt;/jmeter/target/plugin/hono-jmeter-\u0026lt;version\u0026gt;-jar-with-dependencies.jar to the \u0026lt;jmeter-installation\u0026gt;/lib/ext folder. Start JMeter  Example Test Plans The \u0026lt;hono-installation\u0026gt;/jmeter/src/jmeter 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\u0026rsquo;s example deployment.\n http_messaging_throughput_test.jmx runs a set of HTTP clients and AMQP 1.0 consumers for a given period of time. The senders publish data to Hono\u0026rsquo; 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. mqtt_messaging_throughput_test.jmx runs a set of MQTT clients and AMQP 1.0 consumers for a given period of time. The clients publish data to Hono\u0026rsquo; 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 JMeter plugin for MQTT to your JMeter plugin path. amqp_messaging_throughput_test.jmx 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.\nThe sender can be configured to wait for n active receivers (from this test plan and JMeter instance) which can be used to make sure, that the receivers consuming from the corresponding address (e.g. telemetry/DEFAULT_TENANT) are up and running before the senders begin to publish messages.  It is recommended to run the test plans in non-gui mode as illustrated by the example shell scripts that are contained in the \u0026lt;hono-installation\u0026gt;/jmeter/src/jmeter 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.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/",
+	"title": "Admin Guide",
+	"tags": [],
+	"description": "",
+	"content": " Admin Guide Learn how to operate Hono\u0026trade; and look-up the configuration options of it\u0026rsquo;s components.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/",
+	"title": "Common Configuration",
+	"tags": [],
+	"description": "",
+	"content": "Most Hono components support a common set of configuration options. This section describes those options.\nEach component which supports the following options explicitly states so. If it doesn\u0026rsquo;t, then these options are not supported by this component.\nJava VM Options The Java VM started in Hono\u0026rsquo;s components can be configured with arbitrary command line options by means of setting the _JAVA_OPTIONS environment variable.\n   Environment Variable Mandatory Default Description     _JAVA_OPTIONS no - Any options that should be passed to the Java VM on the command line, e.g. -Xmx128m    Vert.x Options The vert.x framework instance used to run Hono\u0026rsquo;s components on can be configured using the following environment variables or corresponding command line options:\n   Environment Variable\nCommand Line Option Mandatory Default Description     HONO_VERTX_DNS_QUERY_TIMEOUT\n--hono.vertx.dnsQueryTimeout no 5000 The amount of time (in milliseconds) after which a DNS query is considered to be failed. Setting this variable to a smaller value may help to reduce the time required to establish connections to the services this adapter depends on. However, setting it to a value that is too small for any DNS query to succeed will effectively prevent any connections to be established at all.   HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME_MILLIS\n--hono.vertx.maxEventLoopExecuteTimeMillis no 2000 The maximum number of milliseconds that a task on the event loop may run without being considered to block the event loop.   HONO_VERTX_PREFER_NATIVE\n--hono.vertx.preferNative no false Tries to enable epoll() support on Linux (if available). See the notes below for an explanation of the benefits of enabling epoll.    \nUsing epoll() on Linux Using epoll() on Linux may provide better performance for applications which have a high I/O throughput. Especially when the application supports an asynchronous I/O model. This is true for most Hono components and applications using Hono.\nThe Netty framework supports using epoll() on Linux x86_64 based systems. Hono provides the a Maven build profile for enabling support for epoll during the build process.\nIn order to use epoll\n Hono needs to be built with the netty-native-linux-x86_64 Maven profile enabled and the HONO_VERTX_PREFER_NATIVE environment variable needs to be set to true on startup. "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/",
+	"title": "Auth Server Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The Auth Server component exposes a service endpoint implementing Eclipse Hono\u0026trade;\u0026rsquo;s Authentication API. Other services use this component for authenticating clients and retrieving a token asserting the client\u0026rsquo;s identity and corresponding authorities.\nThis component serves as a default implementation of the Authentication API only. On startup, it reads in all identities and their authorities from a JSON file from the file system. All data is then kept in memory and there are no remote service APIs for managing the identities and their authorities.\nThe Auth Server is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding Docker image created from it.\nService Configuration In addition to the following options, this component supports the options described in Common Configuration.\nThe server can be configured by means of environment variables or corresponding command line options. The following table provides an overview of the configuration variables and corresponding command line options that the server supports:\n   Environment Variable\nCommand Line Option Mandatory Default Description     HONO_APP_MAX_INSTANCES\n--hono.app.maxInstances no #CPU cores The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.   HONO_AUTH_AMQP_BIND_ADDRESS\n--hono.auth.amqp.bindAddress no 127.0.0.1 The IP address of the network interface that the secure port should be bound to.\nSee Port Configuration below for details.   HONO_AUTH_AMQP_CERT_PATH\n--hono.auth.amqp.certPath no - The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with HONO_AUTH_AMQP_KEY_PATH.\nAlternatively, the HONO_AUTH_AMQP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_AUTH_AMQP_INSECURE_PORT\n--hono.auth.amqp.insecurePort no - The insecure port the server should listen on.\nSee Port Configuration below for details.   HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS\n--hono.auth.amqp.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure port should be bound to.\nSee Port Configuration below for details.   HONO_AUTH_AMQP_INSECURE_PORT_ENABLED\n--hono.auth.amqp.insecurePortEnabled no false If set to true the server will open an insecure port (not secured by TLS) using either the port number set via HONO_AUTH_AMQP_INSECURE_PORT or the default AMQP port number (5672) if not set explicitly.\nSee Port Configuration below for details.   HONO_AUTH_AMQP_KEY_PATH\n--hono.auth.amqp.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the server process is running under. This option must be used in conjunction with HONO_AUTH_CERT_PATH.\nAlternatively, the HONO_AUTH_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_AUTH_AMQP_KEY_STORE_PASSWORD\n--hono.auth.amqp.keyStorePassword no - The password required to read the contents of the key store.   HONO_AUTH_AMQP_KEY_STORE_PATH\n--hono.auth.amqp.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the HONO_AUTH_AMQP_KEY_PATH and HONO_AUTH_AMQP_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_AUTH_AMQP_NATIVE_TLS_REQUIRED\n--hono.auth.amqp.nativeTlsRequired no false The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM\u0026rsquo;s default SSL engine if not available. However, if set to true, the server will fail to start at all in this case.   HONO_AUTH_AMQP_PORT\n--hono.auth.amqp.port no 5671 The secure port that the server should listen on.\nSee Port Configuration below for details.   HONO_AUTH_AMQP_SECURE_PROTOCOLS\n--hono.auth.amqp.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.   HONO_AUTH_AMQP_TRUST_STORE_PASSWORD\n--hono.auth.amqp.trustStorePassword no - The password required to read the contents of the trust store.   HONO_AUTH_AMQP_TRUST_STORE_PATH\n--hono.auth.amqp.trustStorePath no - The absolute path to the Java key store containing the CA certificates the service uses for authenticating clients. The key store format can be either JKS, PKCS12 or PEM indicated by a .jks, .p12 or .pem file suffix respectively.   HONO_AUTH_SVC_PERMISSIONS_PATH\n--hono.auth.svc.permissionsPath no classpath:/\npermissions.json The Spring resource URI of the JSON file defining the identities and corresponding authorities on Hono\u0026rsquo;s endpoint resources. The default file bundled with the Auth Server defines authorities required by protocol adapters and downstream consumer. The default permissions file should only be used for evaluation purposes.   HONO_AUTH_SVC_SIGNING_KEY_PATH\n--hono.auth.svc.signing.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting an authenticated client\u0026rsquo;s identity and authorities. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the HONO_AUTH_SVC_SIGNING_SHARED_SECRET variable. If none of these variables is set, the server falls back to the key indicated by the HONO_AUTH_AMQP_KEY_PATH variable. If that variable is also not set, startup of the server fails.   HONO_AUTH_SVC_SIGNING_SHARED_SECRET\n--hono.auth.svc.signing.sharedSecret no - A string to derive a symmetric key from that is used for signing tokens asserting an authenticated client\u0026rsquo;s identity and authorities. The key is derived from the string by using the bytes of the String\u0026rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the HONO_AUTH_SVC_SIGNING_KEY_PATH variable. If none of these variables is set, startup of the server fails.   HONO_AUTH_SVC_SIGNING_TOKEN_EXPIRATION\n--hono.auth.svc.signing.tokenExpiration no 600 The number of seconds after which the tokens created by this service for asserting an authenticated client\u0026rsquo;s identity should be considered invalid. Other Hono components will close AMQP connections with clients after this period in order to force the client to authenticate again and create a new token. In closed environments it should be save to set this value to a much higher value, e.g. several hours.    The variables only need to be set if the default value does not match your environment.\nPort Configuration The Auth Server can be configured to listen for connections on\n a secure port only (default) or an insecure port only or both a secure and an insecure port (dual port configuration)  The server will fail to start if none of the ports is configured properly.\nSecure Port Only The server needs to be configured with a private key, a certificate holding the public key and a trust store in order to open a TLS secured port.\nThere are two alternative ways for setting the private key and certificate:\n Setting the HONO_AUTH_AMQP_KEY_STORE_PATH and the HONO_AUTH_AMQP_KEY_STORE_PASSWORD variables in order to load the key \u0026amp; certificate from a password protected key store, or setting the HONO_AUTH_AMQP_KEY_PATH and HONO_AUTH_AMQP_CERT_PATH variables in order to load the key and certificate from two separate PEM files in PKCS8 format.  In order to set the trust store, the HONO_AUTH_AMQP_TRUST_STORE_PATH variable needs to be set to a key store containing the trusted root CA certificates. The HONO_AUTH_AMQP_TRUST_STORE_PASSWORD variable needs to be set if the key store requires a pass phrase for reading its contents.\nWhen starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the HONO_AUTH_AMQP_PORT variable.\nThe HONO_AUTH_AMQP_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. Setting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nInsecure Port Only The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by\n explicitly setting HONO_AUTH_AMQP_INSECURE_PORT to a valid port number, or by implicitly configuring the default AMQP port (5672) by simply setting HONO_AUTH_AMQP_INSECURE_PORT_ENABLED to true.  The server issues a warning on the console if HONO_AUTH_AMQP_INSECURE_PORT is set to the default secure AMQP port (5671).\nThe HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.\nSetting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nDual Port In test setups and some production scenarios Hono server may be configured to open one secure and one insecure port at the same time.\nThis is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.\nSince the secure port may need different visibility in the network setup compared to the secure port, it has it\u0026rsquo;s own binding address HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS. This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.\nEphemeral Ports The server may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.\nMetrics Configuration See Monitoring \u0026amp; Tracing Admin Guide for details on how to configure the reporting of metrics.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/",
+	"title": "Device Registry Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The Device Registry component provides an exemplary implementation of Eclipse Hono\u0026trade;\u0026rsquo;s Device Registration, Credentials, Tenant and Device Connection APIs.\nProtocol adapters use these APIs to determine a device\u0026rsquo;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.\nThere is no particular technical reason to implement these three API\u0026rsquo;s in one component, so for production scenarios there might be up to three different components each implementing one of the API\u0026rsquo;s.\nThe Device Registry component also exposes HTTP based resources for managing tenants and the registration information and credentials of devices.\nThe Device Registry is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding Docker image created from it.\nService Configuration In addition to the following options, this component supports the options described in Common Configuration.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the Device Registry.\n   Environment Variable\nCommand Line Option Mandatory Default Description     HONO_APP_MAX_INSTANCES\n--hono.app.maxInstances no #CPU cores The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.   HONO_APP_TYPE\n--hono.app.type no file The device registry implementation to use. This may be either file or dummy. In the case of dummy a dummy implementation will be used which will consider all devices queried for as valid devices, having the access credentials hono-secret. Of course this shouldn\u0026rsquo;t be used for productive use.   HONO_CREDENTIALS_SVC_CACHE_MAX_AGE\n--hono.credentials.svc.cacheMaxAge no 180 The maximum period of time (seconds) that information returned by the service\u0026rsquo;s operations may be cached for.   HONO_CREDENTIALS_SVC_FILENAME\n--hono.credentials.svc.filename no /var/lib/hono/device-registry/\ncredentials.json The path to the file where the server stores credentials of devices. Hono tries to read credentials from this file during start-up and writes out all identities to this file periodically if property HONO_CREDENTIALS_SVC_SAVE_TO_FILE is set to true.\nPlease refer to Credentials File Format for details regarding the file\u0026rsquo;s format.   HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS\n--hono.credentials.svc.maxBcryptIterations no 10 The maximum number of iterations that are supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the number of iterations.   HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED\n--hono.credentials.svc.modificationEnabled no true When set to false the credentials contained in the registry cannot be updated nor removed.   HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT\n--hono.credentials.svc.receiverLinkCredit no 100 The number of credits to flow to a client connecting to the Credentials endpoint.   HONO_CREDENTIALS_SVC_SAVE_TO_FILE\n--hono.credentials.svc.saveToFile no false When set to true the server will periodically write out the registered credentials to the file specified by the HONO_CREDENTIALS_SVC_FILENAME property.   HONO_DEVICE_CONNECTION_SVC_MAX_DEVICES_PER_TENANT\n--hono.deviceConnection.svc.maxDevicesPerTenant no 100 The number of devices per tenant for which connection related data is stored. It is an error to set this property to a value \u0026lt;= 0.   HONO_REGISTRY_AMQP_BIND_ADDRESS\n--hono.registry.amqp.bindAddress no 127.0.0.1 The IP address of the network interface that the secure AMQP port should be bound to.\nSee Port Configuration below for details.   HONO_REGISTRY_AMQP_CERT_PATH\n--hono.registry.amqp.certPath no - The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with HONO_REGISTRY_AMQP_KEY_PATH.\nAlternatively, the HONO_REGISTRY_AMQP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_REGISTRY_AMQP_INSECURE_PORT\n--hono.registry.amqp.insecurePort no - The insecure port the server should listen on for AMQP 1.0 connections.\nSee Port Configuration below for details.   HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS\n--hono.registry.amqp.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure AMQP port should be bound to.\nSee Port Configuration below for details.   HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED\n--hono.registry.amqp.insecurePortEnabled no false If set to true the server will open an insecure port (not secured by TLS) using either the port number set via HONO_REGISTRY_AMQP_INSECURE_PORT or the default AMQP port number (5672) if not set explicitly.\nSee Port Configuration below for details.   HONO_REGISTRY_AMQP_KEY_PATH\n--hono.registry.amqp.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with HONO_REGISTRY_AMQP_CERT_PATH. Alternatively, the HONO_REGISTRY_AMQP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD\n--hono.registry.amqp.keyStorePassword no - The password required to read the contents of the key store.   HONO_REGISTRY_AMQP_KEY_STORE_PATH\n--hono.registry.amqp.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the HONO_REGISTRY_AMQP_KEY_PATH and HONO_REGISTRY_AMQP_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED\n--hono.registry.amqp.nativeTlsRequired no false The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM\u0026rsquo;s default SSL engine if not available. However, if set to true, the server will fail to start at all in this case.   HONO_REGISTRY_AMQP_PORT\n--hono.registry.amqp.port no 5671 The secure port that the server should listen on for AMQP 1.0 connections.\nSee Port Configuration below for details.   HONO_REGISTRY_AMQP_SECURE_PROTOCOLS\n--hono.registry.amqp.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.   HONO_REGISTRY_REST_BIND_ADDRESS\n--hono.registry.rest.bindAddress no 127.0.0.1 The IP address of the network interface that the secure HTTP port should be bound to.\nSee Port Configuration below for details.   HONO_REGISTRY_REST_CERT_PATH\n--hono.registry.rest.certPath no - The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with HONO_REGISTRY_REST_KEY_PATH.\nAlternatively, the HONO_REGISTRY_REST_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_REGISTRY_REST_INSECURE_PORT\n--hono.registry.rest.insecurePort no - The insecure port the server should listen on for HTTP requests.\nSee Port Configuration below for details.   HONO_REGISTRY_REST_INSECURE_PORT_BIND_ADDRESS\n--hono.registry.rest.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure HTTP port should be bound to.\nSee Port Configuration below for details.   HONO_REGISTRY_REST_INSECURE_PORT_ENABLED\n--hono.registry.rest.insecurePortEnabled no false If set to true the server will open an insecure port (not secured by TLS) using either the port number set via HONO_REGISTRY_REST_INSECURE_PORT or the default AMQP port number (5672) if not set explicitly.\nSee Port Configuration below for details.   HONO_REGISTRY_REST_KEY_PATH\n--hono.registry.rest.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with HONO_REGISTRY_REST_CERT_PATH. Alternatively, the HONO_REGISTRY_REST_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_REGISTRY_REST_KEY_STORE_PASSWORD\n--hono.registry.rest.keyStorePassword no - The password required to read the contents of the key store.   HONO_REGISTRY_REST_KEY_STORE_PATH\n--hono.registry.rest.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the HONO_REGISTRY_REST_KEY_PATH and HONO_REGISTRY_REST_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_REGISTRY_REST_PORT\n--hono.registry.rest.port no 5671 The secure port that the server should listen on for HTTP requests.\nSee Port Configuration below for details.   HONO_REGISTRY_SVC_CACHE_MAX_AGE\n--hono.registry.svc.cacheMaxAge no 180 The maximum period of time (seconds) that information returned by the service\u0026rsquo;s operations may be cached for.   HONO_REGISTRY_SVC_FILENAME\n--hono.registry.svc.filename no /var/lib/hono/device-registry/\ndevice-identities.json The path to the file where the server stores identities of registered devices. Hono tries to read device identities from this file during start-up and writes out all identities to this file periodically if property HONO_REGISTRY_SVC_SAVE_TO_FILE is set to true.\nPlease refer to Device Identities File Format for details regarding the file\u0026rsquo;s format.   HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT\n--hono.registry.svc.maxDevicesPerTenant no 100 The number of devices that can be registered for each tenant. It is an error to set this property to a value \u0026lt;= 0.   HONO_REGISTRY_SVC_MODIFICATION_ENABLED\n--hono.registry.svc.modificationEnabled no true When set to false the device information contained in the registry cannot be updated nor removed from the registry.   HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT\n--hono.registry.svc.receiverLinkCredit no 100 The number of credits to flow to a client connecting to the Device Registration endpoint.   HONO_REGISTRY_SVC_SAVE_TO_FILE\n--hono.registry.svc.saveToFile no false When set to true the server will periodically write out the registered device information to the file specified by the HONO_REGISTRY_SVC_FILENAME property.   HONO_REGISTRY_SVC_SIGNING_KEY_PATH\n--hono.registry.svc.signing.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting a device\u0026rsquo;s registration status. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET variable. If none of these variables is set, the server falls back to the key indicated by the HONO_REGISTRY_AMP_KEY_PATH variable. If that variable is also not set, startup of the server fails.   HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET\n--hono.registry.svc.signing.sharedSecret no - A string to derive a symmetric key from that is used for signing tokens asserting a device\u0026rsquo;s registration status. The key is derived from the string by using the bytes of the String\u0026rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the HONO_REGISTRY_SVC_SIGNING_KEY_PATH variable. If none of these variables is set, startup of the server fails.   HONO_REGISTRY_SVC_SIGNING_TOKEN_EXPIRATION\n--hono.registry.svc.signing.tokenExpiration no 10 The expiration period to use for the tokens asserting the registration status of devices.   HONO_TENANT_SVC_CACHE_MAX_AGE\n--hono.tenant.svc.cacheMaxAge no 180 The maximum period of time (seconds) that information returned by the service\u0026rsquo;s operations may be cached for.   HONO_TENANT_SVC_FILENAME\n--hono.tenant.svc.filename no /var/lib/hono/device-registry/\ntenants.json The path to the file where the server stores tenants. Hono tries to read tenants from this file during start-up and writes out all identities to this file periodically if property HONO_TENANT_SVC_SAVE_TO_FILE is set to true.\nPlease refer to Tenants File Format for details regarding the file\u0026rsquo;s format.   HONO_TENANT_SVC_MODIFICATION_ENABLED\n--hono.tenant.svc.modificationEnabled no true When set to false the tenants contained in the registry cannot be updated nor removed.   HONO_TENANT_SVC_RECEIVER_LINK_CREDIT\n--hono.tenant.svc.receiverLinkCredit no 100 The number of credits to flow to a client connecting to the Tenant endpoint.   HONO_TENANT_SVC_SAVE_TO_FILE\n--hono.tenant.svc.saveToFile no false When set to true the server will periodically write out the registered tenants to the file specified by the HONO_TENANTS_SVC_TENANT_FILENAME property.    The variables only need to be set if the default value does not match your environment.\nPort Configuration The Device Registry supports configuration of both, an AMQP based endpoint as well as an HTTP based endpoint proving RESTful resources for managing registration information and credentials. Both endpoints can be configured to listen for connections on\n a secure port only (default) or an insecure port only or both a secure and an insecure port (dual port configuration)  The server will fail to start if none of the ports is configured properly.\nThe following sections apply to configuring both, the AMQP endpoint as well as the REST endpoint. The environment variables to use for configuring the REST endpoint are the same as the ones for the AMQP endpoint, substituting _AMQP_ with _REST_, e.g. HONO_REGISTRY_REST_KEY_PATH instead of HONO_REGISTRY_AMQP_KEY_PATH.\nSecure Port Only The server needs to be configured with a private key and certificate in order to open a TLS secured port.\nThere are two alternative ways for doing so:\n Setting the HONO_REGISTRY_AMQP_KEY_STORE_PATH and the HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD variables in order to load the key \u0026amp; certificate from a password protected key store, or setting the HONO_REGISTRY_AMQP_KEY_PATH and HONO_REGISTRY_AMQP_CERT_PATH variables in order to load the key and certificate from two separate PEM files in PKCS8 format.  When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the HONO_REGISTRY_AMQP_PORT variable.\nThe HONO_REGISTRY_AMQP_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. Setting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nInsecure Port Only The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by\n explicitly setting HONO_REGISTRY_AMQP_INSECURE_PORT to a valid port number, or by implicitly configuring the default AMQP port (5672) by simply setting HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED to true.  The server issues a warning on the console if HONO_REGISTRY_AMQP_INSECURE_PORT is set to the default secure AMQP port (5671).\nThe HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.\nSetting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nDual Port In test setups and some production scenarios Hono server may be configured to open one secure and one insecure port at the same time.\nThis is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.\nSince the secure port may need different visibility in the network setup compared to the secure port, it has it\u0026rsquo;s own binding address HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS. This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.\nEphemeral Ports The server may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.\nAuthentication Service Connection Configuration The Device Registry requires a connection to an implementation of Hono\u0026rsquo;s Authentication API in order to authenticate and authorize client requests.\nThe connection is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_AUTH. Since Hono\u0026rsquo;s Authentication Service does not allow caching of the responses, the cache properties can be ignored.\nIn addition to the standard client configuration properties, following properties need to be set for the connection:\n   Environment Variable\nCommand Line Option Mandatory Default Description     HONO_AUTH_VALIDATION_CERT_PATH\n--hono.auth.validation.certPath no - The absolute path to the PEM file containing the public key that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the HONO_AUTH_VALIDATION_SHARED_SECRET variable. If none of these variables is set, the service falls back to the key indicated by the HONO_AUTH_CERT_PATH variable. If that variable is also not set, startup of the service fails.   HONO_AUTH_VALIDATION_SHARED_SECRET\n--hono.auth.validation.sharedSecret no - A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String\u0026rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service must be configured with the same key. Alternatively, an asymmetric key pair can be used for validating (and signing) by setting the HONO_AUTH_SIGNING_CERT_PATH variable. If none of these variables is set, startup of the service fails.    Metrics Configuration See Monitoring \u0026amp; Tracing Admin Guide for details on how to configure the reporting of metrics.\nDevice Identities File Format The Device Registry supports persisting the device identities and their registration information to a JSON file in the local file system. The Getting started Guide includes an example configuration which illustrates the file format used. The configuration file\u0026rsquo;s location is /deploy/src/main/deploy/example-device-identities.json.\nCredentials File Format The Device Registry supports persisting the devices\u0026rsquo; credentials to a JSON file in the local file system. The Getting started Guide includes an example configuration which illustrates the file format used. The configuration file\u0026rsquo;s location is /deploy/src/main/deploy/example-credentials.json.\nTenants File Format The Device Registry supports persisting tenants to a JSON file in the local file system. The configuration file\u0026rsquo;s location is /deploy/src/main/deploy/example-tenants.json.\nConfiguring Gateway Devices The Device Registry supports devices to act on behalf of other devices. This is particularly useful for cases where a device does not connect directly to a Hono protocol adapter but is connected to a gateway component that is usually specific to the device\u0026rsquo;s communication protocol. It is the gateway component which then connects to a Hono protocol adapter and publishes data on behalf of the device(s). Examples of such a set up include devices using SigFox or LoRa for communication.\nIn these cases the protocol adapter will authenticate the gateway component instead of the device for which it wants to publish data. In order to verify that the gateway is authorized to publish data on behalf of the particular device, the protocol adapter should include the gateway\u0026rsquo;s device identifier (as determined during the authentication process) in its invocation of the Device Registration API\u0026rsquo;s assert Device Registration operation.\nThe Device Registry will then do the following: 1. Verify that the device exists and is enabled. 2. Verify that the gateway exists and is enabled. 3. Verify that the device\u0026rsquo;s registration information contains a property called via and that its value is either the gateway\u0026rsquo;s device identifier or a JSON array which contains the gateway\u0026rsquo;s device identifier as one of its values.\nOnly if all conditions are met, the Device Registry returns an assertion of the device\u0026rsquo;s registration status. The protocol adapter can then forward the published data to the AMQP Messaging Network in the same way as for any device that connects directly to the adapter.\nThe example configuration file (located at /deploy/src/main/deploy/example-device-identities.json) includes a device and a corresponding gateway configured in this way.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/",
+	"title": "HTTP Adapter Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The HTTP protocol adapter exposes a HTTP based API for Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry and Event endpoints.\nThe adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding Docker image created from it.\nService Configuration In addition to the following options, this component supports the options described in Common Configuration.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the HTTP adapter.\n   Environment Variable\nCommand Line Option Mandatory Default Description     HONO_APP_MAX_INSTANCES\n--hono.app.maxInstances no #CPU cores The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.   HONO_HTTP_AUTHENTICATION_REQUIRED\n--hono.http.authenticationRequired no true If set to true the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured Credentials Service. Devices that have failed to authenticate are not allowed to publish any data.   HONO_HTTP_BIND_ADDRESS\n--hono.http.bindAddress no 127.0.0.1 The IP address of the network interface that the secure port should be bound to.\nSee Port Configuration below for details.   HONO_HTTP_CERT_PATH\n--hono.http.certPath no - The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_HTTP_KEY_PATH.\nAlternatively, the HONO_HTTP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_HTTP_DEFAULTS_ENABLED\n--hono.http.defaultsEnabled no true If set to true the protocol adapter uses default values registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.   HONO_HTTP_INSECURE_PORT\n--hono.http.insecurePort no - The insecure port the protocol adapter should listen on.\nSee Port Configuration below for details.   HONO_HTTP_INSECURE_PORT_BIND_ADDRESS\n--hono.http.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure port should be bound to.\nSee Port Configuration below for details.   HONO_HTTP_INSECURE_PORT_ENABLED\n--hono.http.insecurePortEnabled no false If set to true the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via HONO_HTTP_INSECURE_PORT or the default port number (8080) if not set explicitly.\nSee Port Configuration below for details.   HONO_HTTP_KEY_PATH\n--hono.http.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_HTTP_CERT_PATH. Alternatively, the HONO_HTTP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_HTTP_KEY_STORE_PASSWORD\n--hono.http.keyStorePassword no - The password required to read the contents of the key store.   HONO_HTTP_KEY_STORE_PATH\n--hono.http.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the HONO_HTTP_KEY_PATH and HONO_HTTP_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_HTTP_NATIVE_TLS_REQUIRED\n--hono.http.nativeTlsRequired no false The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM\u0026rsquo;s default SSL engine if not available. However, if set to true, the server will fail to start at all in this case.   HONO_HTTP_MAX_PAYLOAD_SIZE\n--hono.http.maxPayloadSize no 2048 The maximum allowed size of an incoming HTTP request\u0026rsquo;s body in bytes. Requests with a larger body size are rejected with a 413 Request entity too large response.   HONO_HTTP_PORT\n--hono.http.port no 8443 The secure port that the protocol adapter should listen on.\nSee Port Configuration below for details.   HONO_HTTP_REALM\n--hono.http.realm no Hono The name of the realm that unauthenticated devices are prompted to provide credentials for. The realm is used in the WWW-Authenticate header returned to devices in response to unauthenticated requests.   HONO_HTTP_SECURE_PROTOCOLS\n--hono.http.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.    The variables only need to be set if the default value does not match your environment.\nPort Configuration The HTTP protocol adapter can be configured to listen for connections on\n a secure port only (default) or an insecure port only or both a secure and an insecure port (dual port configuration)  The HTTP protocol adapter will fail to start if none of the ports is configured properly.\nSecure Port Only The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.\nThere are two alternative ways for doing so:\n Setting the HONO_HTTP_KEY_STORE_PATH and the HONO_HTTP_KEY_STORE_PASSWORD variables in order to load the key \u0026amp; certificate from a password protected key store, or setting the HONO_HTTP_KEY_PATH and HONO_HTTP_CERT_PATH variables in order to load the key and certificate from two separate PEM files in PKCS8 format.  When starting up, the protocol adapter will bind a TLS secured socket to the default secure port 8443. The port number can also be set explicitly using the HONO_HTTP_PORT variable.\nThe HONO_HTTP_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. Setting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nInsecure Port Only The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by\n explicitly setting HONO_HTTP_INSECURE_PORT to a valid port number, or by implicitly configuring the default port (8080) by simply setting HONO_HTTP_INSECURE_PORT_ENABLED to true.  The protocol adapter issues a warning on the console if HONO_HTTP_INSECURE_PORT is set to the default secure HTTP port (8443).\nThe HONO_HTTP_INSECURE_PORT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.\nSetting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nDual Port The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.\nEphemeral Ports Both the secure as well as the insecure port numbers may be explicitly set to 0. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.\nAMQP 1.0 Messaging Network Connection Configuration The adapter requires a connection to the AMQP 1.0 Messaging Network in order to forward telemetry data and events received from devices to downstream consumers.\nThe connection to the messaging network is configured according to Hono Client Configuration with HONO_MESSAGING being used as ${PREFIX}. Since there are no responses being received, the properties for configuring response caching can be ignored.\nTenant Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Tenant API in order to retrieve information for a tenant.\nThe connection to the Tenant Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_TENANT and the additional values for response caching apply.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Registration Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Registration API in order to retrieve registration status assertions for connected devices.\nThe connection to the Device Registration Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_REGISTRATION.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nCredentials Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Credentials API in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.\nThe connection to the Credentials Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_CREDENTIALS.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Connection Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Connection API in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.\nThe connection to the Device Connection service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_DEVICE_CONNECTION.\nResponses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.\nResource Limits Checker Configuration The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_PLAN_PROMETHEUS_BASED_HOST\n--hono.plan.prometheusBased.host no none The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.   HONO_PLAN_PROMETHEUS_BASED_PORT\n--hono.plan.prometheusBased.port no 9090 The port of the Prometheus server to retrieve metrics data from.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE\n--hono.plan.prometheusBased.cacheMinSize no 20 The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE\n--hono.plan.prometheusBased.cacheMaxSize no 1000 The maximum size of the cache to store the metrics data retrieved from the Prometheus server.   HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT\n--hono.plan.prometheusBased.cacheTimeout no 600 The number of seconds after which the cached metrics data should be considered invalid.    Metrics Configuration See Monitoring \u0026amp; Tracing Admin Guide for details on how to configure the reporting of metrics.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/",
+	"title": "AMQP Adapter Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The AMQP protocol adapter allows clients (devices and gateway components) that speaks AMQP 1.0 to publish telemetry messages and events to Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry and Event endpoints.\nThe adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding Docker image created from it.\nService Configuration In addition to the following options, this component supports the options described in Common Configuration.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the AMQP adapter.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_AMQP_AUTHENTICATION_REQUIRED\n--hono.amqp.authenticationRequired no true If set to true the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured Credentials Service. Devices that have failed to authenticate are not allowed to publish any data.   HONO_AMQP_BIND_ADDRESS\n--hono.amqp.bindAddress no 127.0.0.1 The IP address of the network interface that the secure port should be bound to.\nSee Port Configuration below for details.   HONO_AMQP_CERT_PATH\n--hono.amqp.certPath no - The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_AMQP_KEY_PATH.\nAlternatively, the HONO_AMQP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_AMQP_DEFAULTS_ENABLED\n--hono.amqp.defaultsEnabled no true If set to true the protocol adapter uses default values registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.   HONO_AMQP_INSECURE_PORT_BIND_ADDRESS\n--hono.amqp.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure port should be bound to.\nSee Port Configuration below for details.   HONO_AMQP_INSECURE_PORT\n--hono.amqp.insecurePort no 4040 The port number that the protocol adapter should listen on for insecure connections.\nSee Port Configuration below for details.   HONO_AMQP_INSECURE_PORT_ENABLED\n--hono.amqp.insecurePortEnabled no false If set to true the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via HONO_AMQP_INSECURE_PORT or the default AMQP port number (1883) if not set explicitly.\nSee Port Configuration below for details.   HONO_AMQP_KEY_PATH\n--hono.amqp.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_AMQP_CERT_PATH. Alternatively, the HONO_AMQP_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_AMQP_KEY_STORE_PASSWORD\n--hono.amqp.keyStorePassword no - The password required to read the contents of the key store.   HONO_AMQP_KEY_STORE_PATH\n--hono.amqp.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the HONO_AMQP_KEY_PATH and HONO_AMQP_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_AMQP_MAX_CONNECTIONS\n--hono.amqp.maxConnections no 0 The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to 0), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.   HONO_AMQP_MAX_FRAME_SIZE\n--hono.amqp.maxFrameSize no 16384 The maximum number of bytes that can be sent in an AMQP message delivery over the connection with a device. When a client sends an AMQP frame of larger size, the connection is closed.   HONO_AMQP_MAX_PAYLOAD_SIZE\n--hono.amqp.maxPayloadSize no 2048 The maximum allowed size of an incoming AMQP message in bytes. When a client sends a message with a larger payload, the message is discarded and the link to the client is closed.   HONO_AMQP_MAX_SESSION_FRAMES\n--hono.amqp.maxSessionFrames no 30 The maximum number of AMQP transfer frames for sessions created on this connection. This is the number of transfer frames that may simultaneously be in flight for all links in the session.   HONO_AMQP_NATIVE_TLS_REQUIRED\n--hono.amqp.nativeTlsRequired no false The server will probe for OpenSSL on startup if a secure port is configured. By default, the server will fall back to the JVM\u0026rsquo;s default SSL engine if not available. However, if set to true, the server will fail to start at all in this case.   HONO_AMQP_PORT\n--hono.amqp.port no 4041 The secure port that the protocol adapter should listen on.\nSee Port Configuration below for details.   HONO_AMQP_SECURE_PROTOCOLS\n--hono.amqp.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.   HONO_APP_MAX_INSTANCES\n--hono.app.maxInstances no #CPU cores The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.    The variables only need to be set if the default values do not match your environment.\nPort Configuration The AMQP protocol adapter can be configured to listen for connections on\n a secure port only (default) or an insecure port only or both a secure and an insecure port (dual port configuration)  The AMQP protocol adapter will fail to start if none of the ports is configured properly.\nSecure Port Only The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.\nThere are two alternative ways for doing so:\n either setting the HONO_AMQP_KEY_STORE_PATH and the HONO_AMQP_KEY_STORE_PASSWORD variables in order to load the key \u0026amp; certificate from a password protected key store, or setting the HONO_AMQP_KEY_PATH and HONO_AMQP_CERT_PATH variables in order to load the key and certificate from two separate PEM files in PKCS8 format.  When starting up, the protocol adapter will bind a TLS secured socket to the default secure port 4041. The port number can also be set explicitly using the HONO_AMQP_PORT variable.\nThe HONO_AMQP_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. Setting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nInsecure Port Only The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by\n explicitly setting HONO_AMQP_INSECURE_PORT to a valid port number, or by implicitly configuring the default adapter port (4040) by simply setting HONO_AMQP_INSECURE_PORT_ENABLED to true.  The protocol adapter issues a warning on the console if HONO_AMQP_INSECURE_PORT is set to the default secure port (4041) used by the adapter for secure connections.\nThe HONO_AMQP_INSECURE_PORT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.\nSetting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nDual Port The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.\nEphemeral Ports Both the secure as well as the insecure port numbers may be explicitly set to 0. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.\nAMQP 1.0 Messaging Network Connection Configuration The adapter requires a connection to the AMQP 1.0 Messaging Network in order to forward telemetry data and events received from devices to downstream consumers.\nThe connection to the messaging network is configured according to Hono Client Configuration with HONO_MESSAGING being used as ${PREFIX}. Since there are no responses being received, the properties for configuring response caching can be ignored.\nTenant Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Tenant API in order to retrieve information for a tenant.\nThe connection to the Tenant Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_TENANT and the additional values for response caching apply.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Registration Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Registration API in order to retrieve registration status assertions for connected devices.\nThe connection to the Device Registration Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_REGISTRATION.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nCredentials Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Credentials API in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.\nThe connection to the Credentials Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_CREDENTIALS.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Connection Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Connection API in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.\nThe connection to the Device Connection service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_DEVICE_CONNECTION.\nResponses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.\nResource Limits Checker Configuration The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_PLAN_PROMETHEUS_BASED_HOST\n--hono.plan.prometheusBased.host no none The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.   HONO_PLAN_PROMETHEUS_BASED_PORT\n--hono.plan.prometheusBased.port no 9090 The port of the Prometheus server to retrieve metrics data from.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE\n--hono.plan.prometheusBased.cacheMinSize no 20 The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE\n--hono.plan.prometheusBased.cacheMaxSize no 1000 The maximum size of the cache to store the metrics data retrieved from the Prometheus server.   HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT\n--hono.plan.prometheusBased.cacheTimeout no 600 The number of seconds after which the cached metrics data should be considered invalid.    Metrics Configuration See Monitoring \u0026amp; Tracing Admin Guide for details on how to configure the reporting of metrics.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/",
+	"title": "MQTT Adapter Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The MQTT protocol adapter exposes an MQTT topic hierarchy for publishing messages and events to Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry and Event endpoints.\nThe adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding Docker image created from it.\nService Configuration In addition to the following options, this component supports the options described in Common Configuration.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the MQTT adapter.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_APP_MAX_INSTANCES\n--hono.app.maxInstances no #CPU cores The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.   HONO_CONNECTION_EVENTS_PRODUCER\n--hono.connectionEvents.producer no logging The implementation of connection events producer which is to be used. This may be logging or events.\nSee Connection Events   HONO_MQTT_AUTHENTICATION_REQUIRED\n--hono.mqtt.authenticationRequired no true If set to true the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured Credentials Service. Devices that have failed to authenticate are not allowed to publish any data.   HONO_MQTT_BIND_ADDRESS\n--hono.mqtt.bindAddress no 127.0.0.1 The IP address of the network interface that the secure port should be bound to.\nSee Port Configuration below for details.   HONO_MQTT_CERT_PATH\n--hono.mqtt.certPath no - The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_MQTT_KEY_PATH.\nAlternatively, the HONO_MQTT_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_MQTT_COMMAND_ACK_TIMEOUT\n--hono.mqtt.commandAckTimeout no 100 The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.   HONO_MQTT_DEFAULTS_ENABLED\n--hono.mqtt.defaultsEnabled no true If set to true the protocol adapter uses default values registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.   HONO_MQTT_INSECURE_PORT_BIND_ADDRESS\n--hono.mqtt.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure port should be bound to.\nSee Port Configuration below for details.   HONO_MQTT_INSECURE_PORT_ENABLED\n--hono.mqtt.insecurePortEnabled no false If set to true the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via HONO_MQTT_INSECURE_PORT or the default MQTT port number (1883) if not set explicitly.\nSee Port Configuration below for details.   HONO_MQTT_KEY_PATH\n--hono.mqtt.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_MQTT_CERT_PATH. Alternatively, the HONO_MQTT_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_MQTT_KEY_STORE_PASSWORD\n--hono.mqtt.keyStorePassword no - The password required to read the contents of the key store.   HONO_MQTT_KEY_STORE_PATH\n--hono.mqtt.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the HONO_MQTT_KEY_PATH and HONO_MQTT_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_MQTT_MAX_CONNECTIONS\n--hono.mqtt.maxConnections no 0 The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to 0), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.   HONO_MQTT_MAX_PAYLOAD_SIZE\n--hono.mqtt.maxPayloadSize no 2048 The maximum allowed size of an incoming MQTT message\u0026rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.   HONO_MQTT_NATIVE_TLS_REQUIRED\n--hono.mqtt.nativeTlsRequired no false The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM\u0026rsquo;s default SSL engine if not available. However, if set to true, the server will fail to start at all in this case.   HONO_MQTT_PORT\n--hono.mqtt.port no 8883 The secure port that the protocol adapter should listen on.\nSee Port Configuration below for details.   HONO_MQTT_SECURE_PROTOCOLS\n--hono.mqtt.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.    The variables only need to be set if the default values do not match your environment.\nPort Configuration The MQTT protocol adapter can be configured to listen for connections on\n a secure port only (default) or an insecure port only or both a secure and an insecure port (dual port configuration)  The MQTT protocol adapter will fail to start if none of the ports is configured properly.\nSecure Port Only The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.\nThere are two alternative ways for doing so:\n either setting the HONO_MQTT_KEY_STORE_PATH and the HONO_MQTT_KEY_STORE_PASSWORD variables in order to load the key \u0026amp; certificate from a password protected key store, or setting the HONO_MQTT_KEY_PATH and HONO_MQTT_CERT_PATH variables in order to load the key and certificate from two separate PEM files in PKCS8 format.  When starting up, the protocol adapter will bind a TLS secured socket to the default secure MQTT port 8883. The port number can also be set explicitly using the HONO_MQTT_PORT variable.\nThe HONO_MQTT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. Setting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nInsecure Port Only The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by\n explicitly setting HONO_MQTT_INSECURE_PORT to a valid port number, or by implicitly configuring the default MQTT port (1883) by simply setting HONO_MQTT_INSECURE_PORT_ENABLED to true.  The protocol adapter issues a warning on the console if HONO_MQTT_INSECURE_PORT is set to the default secure MQTT port (8883).\nThe HONO_MQTT_INSECURE_PORT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.\nSetting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nDual Port The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.\nEphemeral Ports Both the secure as well as the insecure port numbers may be explicitly set to 0. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.\nAMQP 1.0 Messaging Network Connection Configuration The adapter requires a connection to the AMQP 1.0 Messaging Network in order to forward telemetry data and events received from devices to downstream consumers.\nThe connection to the messaging network is configured according to Hono Client Configuration with HONO_MESSAGING being used as ${PREFIX}. Since there are no responses being received, the properties for configuring response caching can be ignored.\nTenant Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Tenant API in order to retrieve information for a tenant.\nThe connection to the Tenant Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_TENANT and the additional values for response caching apply.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Registration Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Registration API in order to retrieve registration status assertions for connected devices.\nThe connection to the Device Registration Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_REGISTRATION.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nCredentials Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Credentials API in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.\nThe connection to the Credentials Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_CREDENTIALS.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Connection Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Connection API in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.\nThe connection to the Device Connection service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_DEVICE_CONNECTION.\nResponses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.\nResource Limits Checker Configuration The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_PLAN_PROMETHEUS_BASED_HOST\n--hono.plan.prometheusBased.host no none The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.   HONO_PLAN_PROMETHEUS_BASED_PORT\n--hono.plan.prometheusBased.port no 9090 The port of the Prometheus server to retrieve metrics data from.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE\n--hono.plan.prometheusBased.cacheMinSize no 20 The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE\n--hono.plan.prometheusBased.cacheMaxSize no 1000 The maximum size of the cache to store the metrics data retrieved from the Prometheus server.   HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT\n--hono.plan.prometheusBased.cacheTimeout no 600 The number of seconds after which the cached metrics data should be considered invalid.    Metrics Configuration See Monitoring \u0026amp; Tracing Admin Guide for details on how to configure the reporting of metrics.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/",
+	"title": "Kura Adapter Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura\u0026trade; based gateways to publish control and data messages to Eclipse Hono\u0026trade;\u0026rsquo;s Telemetry and Event endpoints.\nThe adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding Docker image created from it.\nService Configuration In addition to the following options, this component supports the options described in Common Configuration.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the MQTT adapter.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_APP_MAX_INSTANCES\n--hono.app.maxInstances no #CPU cores The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.   HONO_KURA_AUTHENTICATION_REQUIRED\n--hono.kura.authenticationRequired no true If set to true the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured Credentials Service. Devices that have failed to authenticate are not allowed to publish any data.   HONO_KURA_BIND_ADDRESS\n--hono.kura.bindAddress no 127.0.0.1 The IP address of the network interface that the secure port should be bound to.\nSee Port Configuration below for details.   HONO_KURA_CERT_PATH\n--hono.kura.certPath no - The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_KURA_KEY_PATH.\nAlternatively, the HONO_KURA_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_KURA_CONTROL_PREFIX\n--hono.kura.controlPrefix no $EDC The topic.control-prefix to use for determining if a message published by a Kura gateway is a control message. All messages published to a topic that does not start with this prefix are considered data messages.   HONO_KURA_CTRL_MSG_CONTENT_TYPE\n--hono.kura.ctrlMsgContentType no application/vnd.eclipse.kura-control The content type to set on AMQP messages created from Kura control messages.   HONO_KURA_DATA_MSG_CONTENT_TYPE\n--hono.kura.dataMsgContentType no application/vnd.eclipse.kura-data The content type to set on AMQP messages created from Kura data messages.   HONO_KURA_DEFAULTS_ENABLED\n--hono.kura.defaultsEnabled no true If set to true the protocol adapter uses default values registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.   HONO_KURA_INSECURE_PORT\n--hono.kura.insecurePort no - The insecure port the protocol adapter should listen on.\nSee Port Configuration below for details.   HONO_KURA_INSECURE_PORT_BIND_ADDRESS\n--hono.kura.insecurePortBindAddress no 127.0.0.1 The IP address of the network interface that the insecure port should be bound to.\nSee Port Configuration below for details.   HONO_KURA_INSECURE_PORT_ENABLED\n--hono.kura.insecurePortEnabled no false If set to true the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via HONO_KURA_INSECURE_PORT or the default MQTT port number (1883) if not set explicitly.\nSee Port Configuration below for details.   HONO_KURA_KEY_PATH\n--hono.kura.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with HONO_KURA_CERT_PATH. Alternatively, the HONO_KURA_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_KURA_KEY_STORE_PASSWORD\n--hono.kura.keyStorePassword no - The password required to read the contents of the key store.   HONO_KURA_KEY_STORE_PATH\n--hono.kura.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the HONO_KURA_KEY_PATH and HONO_KURA_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   HONO_KURA_MAX_PAYLOAD_SIZE\n--hono.kura.maxPayloadSize no 2048 The maximum allowed size of an incoming MQTT message\u0026rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.   HONO_KURA_NATIVE_TLS_REQUIRED\n--hono.kura.nativeTlsRequired no false The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM\u0026rsquo;s default SSL engine if not available. However, if set to true, the server will fail to start at all in this case.   HONO_KURA_PORT\n--hono.kura.port no 8883 The secure port that the protocol adapter should listen on.\nSee Port Configuration below for details.   HONO_KURA_SECURE_PROTOCOLS\n--hono.kura.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.    The variables only need to be set if the default values do not match your environment.\nPort Configuration The Kura protocol adapter can be configured to listen for connections on\n a secure port only (default) or an insecure port only or both a secure and an insecure port (dual port configuration)  The Kura protocol adapter will fail to start if none of the ports is configured properly.\nSecure Port Only The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.\nThere are two alternative ways for doing so:\n either setting the HONO_KURA_KEY_STORE_PATH and the HONO_KURA_KEY_STORE_PASSWORD variables in order to load the key \u0026amp; certificate from a password protected key store, or setting the HONO_KURA_KEY_PATH and HONO_KURA_CERT_PATH variables in order to load the key and certificate from two separate PEM files in PKCS8 format.  When starting up, the protocol adapter will bind a TLS secured socket to the default secure MQTT port 8883. The port number can also be set explicitly using the HONO_KURA_PORT variable.\nThe HONO_KURA_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. Setting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nInsecure Port Only The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by\n explicitly setting HONO_KURA_INSECURE_PORT to a valid port number, or by implicitly configuring the default MQTT port (1883) by simply setting HONO_KURA_INSECURE_PORT_ENABLED to true.  The protocol adapter issues a warning on the console if HONO_KURA_INSECURE_PORT is set to the default secure MQTT port (8883).\nThe HONO_KURA_INSECURE_PORT_BIND_ADDRESS variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the loopback device only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.\nSetting this variable to 0.0.0.0 will let the port being bound to all network interfaces (be careful not to expose the port unintentionally to the outside world).\nDual Port The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.\nEphemeral Ports Both the secure as well as the insecure port numbers may be explicitly set to 0. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.\nAMQP 1.0 Messaging Network Connection Configuration The adapter requires a connection to the AMQP 1.0 Messaging Network in order to forward telemetry data and events received from devices to downstream consumers.\nThe connection to the messaging network is configured according to Hono Client Configuration with HONO_MESSAGING being used as ${PREFIX}. Since there are no responses being received, the properties for configuring response caching can be ignored.\nTenant Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Tenant API in order to retrieve information for a tenant.\nThe connection to the Tenant Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_TENANT and the additional values for response caching apply.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Registration Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Registration API in order to retrieve registration status assertions for connected devices.\nThe connection to the Device Registration Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_REGISTRATION.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nCredentials Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Credentials API in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.\nThe connection to the Credentials Service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_CREDENTIALS.\nThe adapter caches the responses from the service according to the cache directive included in the response. If the response doesn\u0026rsquo;t contain a cache directive no data will be cached.\nDevice Connection Service Connection Configuration The adapter requires a connection to an implementation of Hono\u0026rsquo;s Device Connection API in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to forward commands issued by applications to the protocol adapter instance that the gateway is connected to.\nThe connection to the Device Connection service is configured according to Hono Client Configuration where the ${PREFIX} is set to HONO_DEVICE_CONNECTION.\nResponses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.\nResource Limits Checker Configuration The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.\nThe following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     HONO_PLAN_PROMETHEUS_BASED_HOST\n--hono.plan.prometheusBased.host no none The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.   HONO_PLAN_PROMETHEUS_BASED_PORT\n--hono.plan.prometheusBased.port no 9090 The port of the Prometheus server to retrieve metrics data from.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MIN_SIZE\n--hono.plan.prometheusBased.cacheMinSize no 20 The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.   HONO_PLAN_PROMETHEUS_BASED_CACHE_MAX_SIZE\n--hono.plan.prometheusBased.cacheMaxSize no 1000 The maximum size of the cache to store the metrics data retrieved from the Prometheus server.   HONO_PLAN_PROMETHEUS_BASED_CACHE_TIMEOUT\n--hono.plan.prometheusBased.cacheTimeout no 600 The number of seconds after which the cached metrics data should be considered invalid.    Metrics Configuration See Monitoring \u0026amp; Tracing Admin Guide for details on how to configure the reporting of metrics.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/",
+	"title": "Hono Client Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The org.eclipse.hono.client.HonoClient factory can be used to create specific clients for accessing services implementing one or more of Hono\u0026rsquo;s APIs.\nThe factory uses environment variables and/or command line options to configure the connection to the service and the caching of responses to service invocations. All variables used for configuring a particular Hono Client factory instance share a common prefix. This way, multiple sets of variables can be used to configure multiple factories for connecting to different service endpoints without interfering with each other. For example, the set of variables for configuring the client factory for the Device Registration service may use the common prefix HONO_REGISTRATION whereas the set for configuring the factory for the Credentials service may use HONO_CREDENTIALS.\nConnection Properties The following table provides an overview of the configuration variables and corresponding command line options for configuring the AMQP connection to the service. Note that the variables map to the properties of class org.eclipse.hono.config.ClientConfigProperties which can be used to programmatically configure a client.\nThe variable names contain ${PREFIX} as a placeholder for the particular common prefix being used. The ${prefix} placeholder used in the command line option name is the same as ${PREFIX}, using all lower case characters and . instead of _ as the delimiter, e.g. the variable prefix HONO_CREDENTIALS corresponds to the command line option prefix hono.credentials).\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     ${PREFIX}_AMQP_HOSTNAME\n--${prefix}.amqpHostname no - The name to use as the hostname in the client\u0026rsquo;s AMQP open frame during connection establishment. This variable can be used to indicate the virtual host to connect to on the server.   ${PREFIX}_CERT_PATH\n--${prefix}.certPath no - The absolute path to the PEM file containing the certificate that the client should use for authenticating to the server. This variable must be used in conjunction with ${PREFIX}_KEY_PATH.\nAlternatively, the ${PREFIX}_KEY_STORE_PATH variable can be used to configure a key store containing both the key as well as the certificate.   ${PREFIX}_CONNECT_TIMEOUT\n--${prefix}.connectTimeout no 5000 The maximum amount of time (milliseconds) that the client should wait for the AMQP connection to be opened. This includes the time for TCP/TLS connection establishment, SASL handshake and exchange of the AMQP open frame. This property can be used to tune the time period to wait according to the network latency involved with the connection between the client and the service.   ${PREFIX}_CREDENTIALS_PATH\n--${prefix}.credentialsPath no - The absolute path to a properties file that contains a username and a password property to use for authenticating to the service.\nThis variable is an alternative to using ${PREFIX}_USERNAME and ${PREFIX}_PASSWORD which has the advantage of not needing to expose the secret (password) in the client process\u0026rsquo; environment.   ${PREFIX}_FLOW_LATENCY\n--${prefix}.flowLatency no 20 The maximum amount of time (milliseconds) that the client should wait for credits after a link to the service has been established.   ${PREFIX}_HOST\n--${prefix}.host no localhost The IP address or name of the host to connect to. NB: This needs to be set to an address that can be resolved within the network the adapter runs on. When running as a Docker container, use Docker\u0026rsquo;s --network command line option to attach the local container to the Docker network that the service is running on.   ${PREFIX}_HOSTNAME_VERIFICATION_REQUIRED\n--${prefix}.hostnameVerificationRequired no true A flag indicating whether the value of the ${PREFIX}_HOST variable must match the distinguished name or any of the alternative names asserted by the server\u0026rsquo;s certificate when connecting using TLS.   ${PREFIX}_IDLE_TIMEOUT\n--${prefix}.idleTimeout no 16000 Sets the amount of time in milliseconds after which a connection will be closed when no frames have been received from the remote peer. This property is also used to configure a heartbeat mechanism, checking that the connection is still alive. The corresponding heartbeat interval will be set to idleTimeout/2 ms.   ${PREFIX}_INITIAL_CREDITS\n--${prefix}.initialCredits no 200 The number of credits that a consuming client will initially issue to the service (sender) after link creation. This value effectively limits the number of messages that can be in flight unsettled.   ${PREFIX}_KEY_PATH\n--${prefix}.keyPath no - The absolute path to the (PKCS8) PEM file containing the private key that the client should use for authenticating to the server. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the client process is running under. This variable must be used in conjunction with ${PREFIX}_CERT_PATH. Alternatively, the ${PREFIX}_KEY_STORE_PATH variable can be used to configure a key store containing both the key as well as the certificate.   ${PREFIX}_KEY_STORE_PASSWORD\n--${prefix}.keyStorePassword no - The password required to read the contents of the key store.   ${PREFIX}_KEY_STORE_PATH\n--${prefix}.keyStorePath no - The absolute path to the Java key store containing the private key and certificate that the client should use for authenticating to the server. Either this variable or the ${PREFIX}_KEY_PATH and ${PREFIX}_CERT_PATH variables need to be set in order to enable SASL External based authentication to the server. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively.   ${PREFIX}_LINK_ESTABLISMENT_TIMEOUT\n--${prefix}.linkEstablishmentTimeout no 1000 The maximum amount of time (milliseconds) that the client should wait for the service\u0026rsquo;s attach frame during link establishment. This property can be used to tune the time period to wait according to the network latency involved with the communication link between the client and the service.   ${PREFIX}_NAME\n--${prefix}.name no - The name to use as the container-id in the client\u0026rsquo;s AMQP open frame during connection establishment.   ${PREFIX}_PORT\n--${prefix}.port no 5671 The port that the service is listening on.   ${PREFIX}_USERNAME\n--${prefix}.username no - The username to use for authenticating to the service. This property (and the corresponding password) needs to be set in order to enable SASL Plain based authentication to the service.   ${PREFIX}_PASSWORD\n--${prefix}.password no - The password to use for authenticating to the service.   ${PREFIX}_SEND_MESSAGE_TIMEOUT\n--${prefix}.sendMessageTimeout no 1000 The maximum number of milliseconds to wait for a delivery update after an event or command message was sent before the send operation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.   ${PREFIX}_RECONNECT_ATTEMPTS\n--${prefix}.reconnectAttempts no -1 The number of attempts (in addition to the original connection attempt) that the client should make in order to establish an AMQP connection with the peer before giving up. The default value of this property is -1 which means that the client will try forever.   ${PREFIX}_RECONNECT_DELAY_INCREMENT\n--${prefix}.reconnectDelayIncrement no 100 The factor (milliseconds) used in the exponential backoff algorithm for determining the delay before trying to re-establish an AMQP connection with the peer. The delay after an initial, failed connection attempt will be the value of the ${PREFIX}_RECONNECT_MIN_DELAY variable. Each subsequent connection attempt will use a random delay between the minimum delay and the value determined by exponentially increasing the delay by the ${PREFIX}_RECONNECT_DELAY_INCREMENT factor. The overall limit of the delay time is defined by the ${PREFIX}_RECONNECT_MAX_DELAY variable.   ${PREFIX}_RECONNECT_MAX_DELAY\n--${prefix}.reconnectMaxDelay no 7000 The maximum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.   ${PREFIX}_RECONNECT_MIN_DELAY\n--${prefix}.reconnectMinDelay no 0 The minimum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.   ${PREFIX}_REQUEST_TIMEOUT\n--${prefix}.requestTimeout no 200 The maximum number of milliseconds to wait for a response before a service invocation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.   ${PREFIX}_SECURE_PROTOCOLS\n--${prefix}.secureProtocols no TLSv1.2 A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the vert.x documentation for a list of supported protocol names.   ${PREFIX}_TLS_ENABLED\n--${prefix}.tlsEnabled no false If set to true the connection to the peer will be encrypted using TLS and the peer\u0026rsquo;s identity will be verified using the JVM\u0026rsquo;s configured standard trust store.\nThis variable only needs to be set to enable TLS explicitly if no specific trust store is configured using the ${PREFIX}_TRUST_STORE_PATH variable.   ${PREFIX}_TRUST_STORE_PATH\n--${prefix}.trustStorePath no - The absolute path to the Java key store containing the CA certificates the adapter uses for authenticating the service. This property must be set if the service has been configured to support TLS. The key store format can be either JKS, PKCS12 or PEM indicated by a .jks, .p12 or .pem file suffix respectively.   ${PREFIX}_TRUST_STORE_PASSWORD\n--${prefix}.trustStorePassword no - The password required to read the contents of the trust store.    Response Caching The clients created by a Hono client factory support the caching of responses received in response to service invocations. Caching can greatly improve performance by preventing costly invocations of remote service operations. However, it usually only makes sense for resources that do not change too frequently. The Hono client follows the approach to caching used in HTTP 1.1. In particular, it supports cache directives that a service includes in the response messages it sends back to the Hono client.\nIn order to enable caching, the org.eclipse.hono.client.impl.HonoClientImpl factory class needs to be configured with a cache manager using the setCacheManager method. Any specific client created by the factory will then cache responses to service invocations based on the following rules:\n If the response contains a no-cache directive, the response is not cached at all. Otherwise, if the response contains a max-age directive, the response is cached for the number of seconds specified by the directive. Otherwise, if the response message does not contain any of the above directives and the response\u0026rsquo;s status code is one of the codes defined in RFC 2616, Section 13.4 Response Cacheability, the response is put to the cache using the default timeout defined by the ${PREFIX}_RESPONSE_CACHE_DEFAULT_TIMEOUT variable as the maximum age.  The following table provides an overview of the configuration variables and corresponding command line options for configuring the Hono client\u0026rsquo;s caching behavior.\n   Environment Variable\nCommand Line Option Mandatory Default Value Description     ${PREFIX}_RESPONSE_CACHE_MIN_SIZE\n--${prefix}.responseCacheMinSize no 20 The minimum number of responses that can be cached.   ${PREFIX}_RESPONSE_CACHE_MAX_SIZE\n--${prefix}.responseCacheMaxSize no 1000 The maximum number of responses that can be cached. It is up to the particular cache implementation, how to deal with new cache entries once this limit has been reached.   ${PREFIX}_RESPONSE_CACHE_DEFAULT_TIMEOUT\n--${prefix}.responseCacheDefaultTimeout no 600 The default number of seconds after which cached responses should be considered invalid.    Using TLS The client can be configured to use TLS for\n authenticating the server during connection establishment and (optionally) authenticating to the server using a client certificate (if the server supports this)  In order to authenticate the server by means of the server\u0026rsquo;s certificate, the client needs to be configured with a trust anchor containing the certificate authorities that the client trusts. The trust anchor can be configured explicitly by means of the ${PREFIX}_TRUST_STORE_PATH and ${PREFIX}_TRUST_STORE_PASSWORD variables. This is most useful in cases where the server\u0026rsquo;s certificate has not been signed by one of the public root CAs that are contained in the JRE\u0026rsquo;s standard trust store. However, if the server does use a certificate signed by such a public CA, then it is sufficient to set the ${PREFIX}_TLS_ENABLED variable to true in order for the client to support TLS when connecting to the server.\nThe client can also be configured to authenticate to the server by means of an X.509 client certificate if the server is configured to support this. The ${PREFIX}_CERT_PATH and ${PREFIX}_KEY_PATH variables can be used to set the paths to PEM files containing the certificate and private key. Alternatively, the ${PREFIX}_KEY_STORE_PATH and ${PREFIX}_KEY_STORE_PASSWORD variables can be used to set the path and password of a key store which contains both the certificate as well as the private key.\nThe client supports TLS 1.2 only by default for negotiating TLS sessions with servers. Additional protocols can be enabled by setting the ${PREFIX}_SECURE_PROTOCOLS variable to a comma separated list of protocol names as defined in the vert.x documentation. However, great care should be taken when enabling older protocols because most of them are vulnerable to attacks.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/",
+	"title": "AMQP 1.0 Messaging Network Configuration",
+	"tags": [],
+	"description": "",
+	"content": "The Qpid Dispatch Router, together with the Apache Artemis message broker, serves as the default AMQP 1.0 Messaging Network that is used in Hono\u0026rsquo;s example deployment as described in the Deployment Guides.\nThe Dispatch Router component exposes service endpoints implementing the north bound part of Hono\u0026rsquo;s Telemetry, Event and Command \u0026amp; Control APIs which are used by applications to interact with devices.\nDispatch Router Configuration The Dispatch Router is part of the Apache Qpid project. Hono uses Dispatch Router by means of the EnMasse project\u0026rsquo;s Dispatch Router Docker image created from the Qpid project source code.\nThe Dispatch Router can be configured by means of configuration files. Hono includes an example configuration in the deploy/src/main/config/qpid folder which is used by the example deployment scripts. Please refer to the Dispatch Router documentation for details regarding the configuration file format and options.\nArtemis Broker Configuration The Artemis Broker is part of the Apache ActiveMQ project. Hono uses Artemis by means of the EnMasse project\u0026rsquo;s Artemis Docker image created from the Artemis project source code.\nThe Artemis Broker can be configured by means of configuration files. Hono includes an example configuration in the deploy/src/main/config/artemis folder which is used by the example deployment scripts. Please refer to the Artemis documentation for details regarding the configuration file format and options.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/",
+	"title": "Secure Communication",
+	"tags": [],
+	"description": "",
+	"content": "The individual components of an Eclipse Hono\u0026trade; installation, e.g. the protocol adapters, AMQP Messaging Network, Hono Auth etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of Transport Layer Security (TLS) and how to configure it.\nEnabling TLS All of Hono\u0026rsquo;s components can be configured to use TLS for establishing an encrypted communication channel with peers. When a client initiates a connection with a server, the TLS handshake protocol is used to negotiate parameters of a secure channel to be used for exchanging data. The most important of those parameters is a secret (symmetric) encryption key that is only known to the client and the server and which is used to transparently encrypt all data being sent over the connection as long as the connection exists. With each new connection, a new secret key is negotiated.\nUsing TLS in this way requires configuring the server component with a cryptographic private/public key pair and a certificate which binds an identity claim to the public key. It is out of scope of this document to describe the full process of creating such a key pair and acquiring a corresponding certificate. The demo-certs module already contains a set of keys and certificates to be used for evaluation and demonstration purposes. Throughout the rest of this section we will use these keys and certificates . Please refer to the demo-certs/README.md file for details regarding how to create your own keys and certificates.\nWithin a Hono installation the following communication channels can be secured with TLS:\n Applications connecting to Dispatch Router - Client applications consuming e.g. Telemetry data from Hono connect to the AMQP Messaging Network. This connection can be secured by configuring the client and the messaging network for TLS. Device Registry connecting to Auth Server - The Device Registry connects to the Auth Server in order to verify client credentials and determine the client\u0026rsquo;s authorities. This (internal) connection can (should) be secured by configuring the Auth Server and Device Registry for TLS. Protocol Adapter to Device Registry - A protocol adapter connects to the Device Registry in order to retrieve assertions regarding the registration status of devices. This (internal) connection can be secured by configuring the protocol adapter and the Device Registry for TLS. Protocol Adapter connecting to AMQP Messaging Network - A protocol adapter connects to the messaging network in order to forward telemetry data and commands hence and forth between downstream components (client applications) and devices. This (internal) connection can be secured by configuring the Dispatch Router and the protocol adapters for TLS. Devices connecting to a Protocol Adapter - Devices use TLS to both authenticate the protocol adapter and to establish an encrypted channel that provides integrity and privacy when transmitting data. Note that the specifics of if and how TLS can be used with a particular protocol adapter is specific to the transport protocol the adapter uses for communicating with the devices. Liveness/readiness probes connecting to Service Health Checks - Systems like Kubernetes are periodically checking the health status of the individual services . This communication can be secured by configuring the health check of the individual services to expose a secure endpoint.  Auth Server The Auth Server supports the use of TLS for connections to clients. Please refer to the Auth Server admin guide for details regarding the required configuration steps.\nThe demo-certs/certs folder includes the following demo keys and certificates to be used with the Auth Server for that purpose.\n   File Description     auth-server-key.pem The example private key for creating signatures.   auth-server-cert.pem The example certificate asserting the server\u0026rsquo;s identity.   trusted-certs.pem Trusted CA certificates to use for verifying signatures.    Dispatch Router The Dispatch Router reads its configuration from a file on startup (the default location is /etc/qpid-dispatch/qdrouterd.conf). Please refer to the Dispatch Router documentation for details regarding the configuration of TLS/SSL.\nThe demo-certs/certs folder includes the following demo keys and certificates to be used with the Dispatch Router for that purpose:\n   File Description     qdrouter-key.pem The example private key for creating signatures.   qdrouter-cert.pem The example certificate asserting the server\u0026rsquo;s identity.   trusted-certs.pem Trusted CA certificates to use for verifying signatures.    Device Registry The Device Registry supports the use of TLS for connections to protocol adapters and the Auth Server. Please refer to the Device Registry admin guide for details regarding the required configuration steps.\nThe demo-certs/certs folder contains the following demo keys and certificates to be used with the Device Registry for that purpose.\n   File Description     auth-server-cert.pem The certificate of the Auth Server, used to verify the signatures of tokens issued by the Auth Server.   device-registry-key.pem The example private key for creating signatures.   device-registry-cert.pem The example certificate asserting the server\u0026rsquo;s identity.   trusted-certs.pem Trusted CA certificates to use for verifying signatures.    HTTP Adapter The HTTP adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key. Please refer to the HTTP adapter admin guide for details regarding the required configuration steps.\nThe demo-certs/certs folder contains the following demo keys and certificates to be used with the HTTP adapter for that purpose.\n   File Description     http-adapter-key.pem The example private key for creating signatures.   http-adapter-cert.pem The example certificate asserting the adapter\u0026rsquo;s identity.   trusted-certs.pem Trusted CA certificates to use for verifying signatures.    MQTT Adapter The MQTT adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key. Please refer to the MQTT adapter admin guide for details regarding the required configuration steps.\nThe demo-certs/certs folder contains the following demo keys and certificates to be used with the MQTT adapter for that purpose.\n   File Description     mqtt-adapter-key.pem The example private key for creating signatures.   mqtt-adapter-cert.pem The example certificate asserting the adapter\u0026rsquo;s identity.   trusted-certs.pem Trusted CA certificates to use for verifying signatures.    Kura Adapter The Kura adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key. Please refer to the Kura adapter admin guide for details regarding the required configuration steps.\nThe demo-certs/certs folder contains the following demo keys and certificates to be used with the Kura adapter for that purpose.\n   File Description     kura-adapter-key.pem The example private key for creating signatures.   kura-adapter-cert.pem The example certificate asserting the adapter\u0026rsquo;s identity.   trusted-certs.pem Trusted CA certificates to use for verifying signatures.    Client Application When the connection between an application client and Hono (i.e. the Dispatch Router) is supposed to be secured by TLS (which is a good idea), then the client application needs to be configured to trust the CA that signed the Dispatch Router\u0026rsquo;s certificate chain. When the application uses the org.eclipse.hono.client.HonoClientImpl class from the client module, then this can be done by means of configuring the org.eclipse.hono.connection.ConnectionFactoryImpl with a trust store containing the CA\u0026rsquo;s certificate. Please refer to the Hono Client configuration guide for details regarding the configuration properties that need to be set.\nThe demo-certs/certs folder contains the following demo keys to be used with client applications for that purpose.\n   File Description     trusted-certs.pem Trusted CA certificates to use for verifying signatures.    Using OpenSSL Hono\u0026rsquo;s individual services are implemented in Java and therefore, by default, use the SSL/TLS engine that comes with the Java Virtual Machine that the services are running on. In case of the Docker images provided by Hono this is the SSL engine of OpenJDK. While the standard SSL engine has the advantage of being a part of the JVM itself and thus being available on every operating system that the JVM is running on without further installation, it provides only limited performance and throughput when compared to native TLS implementations like OpenSSL.\nIn order to address this problem, the Netty networking library that is used in Hono\u0026rsquo;s components can be configured to employ the OpenSSL instead of the JVM\u0026rsquo;s SSL engine by means of Netty\u0026rsquo;s Forked Tomcat Native (tcnative) module.\nThe tcnative module comes in several flavors, corresponding to the way that the OpenSSL library has been linked in. The statically linked versions include a specific version of OpenSSL (or BoringSSL for that matter) and is therefore most easy to use on supported platforms, regardless of whether another version of OpenSSL is already installed or not. In contrast, the dynamically linked variants depend on a particular version of OpenSSL being already installed on the operating system. Both approaches have their pros and cons and Hono therefore does not include tcnative in its Docker images by default, i.e. Hono\u0026rsquo;s services will use the JVM\u0026rsquo;s default SSL engine by default.\nConfiguring Containers When starting up any of Hono\u0026rsquo;s Docker images as a container, the JVM will look for additional jar files to include in its classpath in the container\u0026rsquo;s /opt/hono/extensions folder. Thus, using a specific variant of tcnative is just a matter of configuring the container to mount a volume or binding a host folder at that location and putting the desired variant of tcnative into the corresponding volume or host folder.r Assuming that the Auth Server should be run with the statically linked, BoringSSL based tcnative variant, the following steps are necessary:\n Download tcnative matching the platform architecture (linux-x86_64). Put the jar file to a folder on the Docker host, e.g. /tmp/tcnative. Start the Auth Server Docker image mounting the host folder:\ndocker run --name hono-auth-server --mount type=bind,src=/tmp/tcnative,dst=/opt/hono/extensions,ro ... eclipse/hono-service-auth   Note that the command given above does not contain the environment variables and secrets that are usually required to configure the service properly.\nWhen the Auth Server starts up, it will look for a working variant of tcnative on its classpath and (if found) use it for establishing TLS connections. The service\u0026rsquo;s log file will indicate whether the JVM\u0026rsquo;s default SSL engine or OpenSSL is used.\nUsing a Docker volume instead of a bind mount works the same way but requires the use of volume as the type of the --mount parameter. Please refer to the Docker reference documentation for details.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/",
+	"title": "Monitoring &amp; Tracing",
+	"tags": [],
+	"description": "",
+	"content": "The individual components of an Eclipse Hono\u0026trade; installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.\nWhen a device uploads telemetry data to the HTTP adapter, the adapter invokes operations on the Device Registration, Credentials and the Tenant services in order to authenticate and authorize the device before sending the telemetry data downstream to the AMQP 1.0 Messaging Network. The overall success of this process and the latency involved before the message reaches the consumer is determined by the individual interactions between the service components.\nMonitoring In a production environment, an operations team will usually want to keep track of some key performance indicators (KPI) which allow the team to determine the overall health of the system, e.g. memory and CPU consumption etc. Hono supports the tracking of such KPIs by means of metrics it can be configured to report. The metrics are usually collected in a time series database like InfluxDB or Prometheus and then visualized on a monitoring dash-board built using frameworks like Grafana. Such a dash-board can usually also be configured to send alarms when certain thresholds are exceeded.\nMetrics usually provide insights into the past and current status of an individual component. The values can be aggregated to provide a picture of the overall system\u0026rsquo;s status. As such, metrics provide a great way to monitor system health and, in particular, to anticipate resource shortages and use such knowledge to pro-actively prevent system failure.\nConfiguring a Metrics Back End Hono uses Micrometer for providing metrics. It is possible to drop in any Micrometer compatible back end. Hono also uses the Micrometer integration with Spring Boot and Vert.x.\nPlease refer to the Micrometer documentation for details regarding the configuration of a specific Micrometer back end. In most cases, you only need to add the back end specific jar files to the class path and add back end specific configuration to the application.yml file.\nThe Hono build supports configuration of a specific metrics back end by means of Maven profiles. The following build profiles are currently supported:\n metrics-prometheus – Enables the Prometheus backend. metrics-graphite – Enables the Graphite backend. metrics-influxdb – Enables the InfluxDB backend.  Additionally to selecting a metrics back end, you may need to configure the back end using Spring configuration options. See the documentation mentioned above for more information.\nNote that none of the above profiles are active by default, i.e. you need to explicitly activate one of them when starting the build using Maven\u0026rsquo;s -p command line parameter.\nUsing Prometheus Most of the metrics back ends have data being pushed to from the components reporting the metrics. However, Prometheus is different in that it polls (or scrapes) all components periodically for new metrics data. For this to work, the Prometheus server needs to be configured with the IP addresses of the components to monitor. In the example deployment that comes with Hono, the Kubernetes pods that the Hono components are running in are marked by means of a label. The Prometheus server then periodically queries the Kubernetes API to determine a list of pods (and their IP addresses) that have the corresponding label. The components themselves need to expose a corresponding HTTP endpoint that the Prometheus server can connect to for scraping the meter data. All Hono components that report metrics can be configured to expose such an endpoint via their Health Check server which already exposes endpoints for determining the component\u0026rsquo;s readiness and liveness status.\nLegacy Metrics Support In addition to using standard Micrometer back ends, Hono also provides out of the box support for the pre-0.8 Graphite based format. This will configure the Graphite adapter to output metrics in the legacy format used by Hono versions before 0.8. Further configuration of the Graphite adapter can be made using the standard Spring Boot configuration of Micrometer. The legacy support can be enabled using the following configuration switch:\n   Environment Variable\nCommand Line Option Mandatory Default Description     HONO_METRICS_LEGACY\n--hono.metrics.legacy no false Enable legacy metrics using graphite.    It is also necessary to enable the build profile for Graphite (metrics-graphite), as the legacy back end is based on the Graphite wire format. The profile will add the necessary dependencies to the build. If the dependencies are missing, the startup of the Hono components will fail.\nThe names and semantics of the individual metrics being reported by the components are described in the Legacy Metrics specification.\nHealth Check Server Configuration All of Hono\u0026rsquo;s service components and protocol adapters contain a Health Check server which can be configured to expose several HTTP endpoints for determining the component\u0026rsquo;s status. In particular, the server exposes a /readiness, a /liveness and an optional /prometheus URI endpoint.\nThe former two endpoints are supposed to be used by container orchestration platforms like Kubernetes to monitor the runtime status of the containers that it manages. These endpoints are always exposed when the health check server is started.\nThe /prometheus endpoint can be used by a Prometheus server to retrieve collected meter data from the component. It is only exposed if Prometheus has been configured as the metrics back end as described above.\nThe health check server can be configured by means of the following environment variables:\n   Environment Variable\nCommand Line Option Default Value Description     HONO_HEALTH_CHECK_BIND_ADDRESS\n--hono.healthCheck.bindAddress 127.0.0.1 The IP address of the network interface that the health check server\u0026rsquo;s secure port should be bound to. The server will only be started if this property is set to some other than the default value and corresponding key material has been configured using the HONO_HEALTH_CHECK_KEY_PATH and HONO_HEALTH_CHECK_CERT_PATH variables.   HONO_HEALTH_CHECK_CERT_PATH\n--hono.healthCheck.certPath - The absolute path to the PEM file containing the certificate that the secure server should use for authenticating to clients. This option must be used in conjunction with HONO_HEALTH_CHECK_KEY_PATH.\nAlternatively, the HONO_HEALTH_CHECK_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_HEALTH_CHECK_INSECURE_PORT_BIND_ADDRESS\n--hono.healthCheck.insecurePortBindAddress 127.0.0.1 The IP address of the network interface that the health check server\u0026rsquo;s insecure port should be bound to. The server will only be started if this property is set to some other than the default value.   HONO_HEALTH_CHECK_INSECURE_PORT\n--hono.healthCheck.insecurePort 8088 The port that the insecure server should listen on.   HONO_HEALTH_CHECK_KEY_PATH\n--hono.healthCheck.keyPath - The absolute path to the (PKCS8) PEM file containing the private key that the secure server should use for authenticating to clients. This option must be used in conjunction with HONO_HEALTH_CHECK_CERT_PATH. Alternatively, the HONO_HEALTH_CHECK_KEY_STORE_PATH option can be used to configure a key store containing both the key as well as the certificate.   HONO_HEALTH_CHECK_PORT\n--hono.healthCheck.port 8088 The port that the secure server should listen on.   HONO_HEALTH_CHECK_KEY_STORE_PASSWORD\n--hono.healthCheck.keyStorePassword - The password required to read the contents of the key store.   HONO_HEALTH_CHECK_KEY_STORE_PATH\n--hono.healthCheck.keyStorePath - The absolute path to the Java key store containing the private key and certificate that the secure server should use for authenticating to clients. Either this option or the HONO_HEALTH_CHECK_KEY_PATH and HONO_HEALTH_CHECK_CERT_PATH options need to be set in order to enable TLS secured connections with clients. The key store format can be either JKS or PKCS12 indicated by a .jks or .p12 file suffix respectively. The HONO_HEALTH_CHECK_KEY_STORE_PASSWORD variable can be used to set the password required for reading the key store.     Failure to start The component/service will fail to start if neither the secure not the insecure server have been configured properly.  Tracing In normal operation the vast majority of messages should be flowing through the system without any noteworthy delays or problems. In fact, that is the whole purpose of Hono. However, that doesn\u0026rsquo;t mean that nothing can go wrong. For example, when a tenant\u0026rsquo;s device administrator changes the credentials of a device in the Credentials service but has not yet updated the credentials on the device yet, then the device will start to fail in uploading any data to the protocol adapter it connects to. After a while, a back end application\u0026rsquo;s administrator might notice, that there hasn\u0026rsquo;t been any data being received from that particular device for quite some time. The application administrator therefore calls up the Hono operations team and complains about the data being lost somewhere.\nThe operations team will have a hard time determining what is happening, because it will need to figure out which components have been involved in the processing of the device and why the data hasn\u0026rsquo;t been processed as usual. The metrics alone usually do not help much here because metrics are usually not scoped to individual devices. The logs written by the individual components, on the other hand, might contain enough information to correlate individual entries in the log with each other and thus trace the processing of the message throughout the system. However, this is usually a very tedious (and error prone) process and the relevant information is often only logged at a level (e.g. DEBUG) that is not used in production (often INFO or above).\nIn order to address this problem, Hono\u0026rsquo;s service components are instrumented using OpenTracing. OpenTracing provides Vendor-neutral APIs and instrumentation for distributed tracing. The OpenTracing web page provides a list of supported tracer implementations from which users can choose in order to collect (and examine) the tracing information generated by Hono\u0026rsquo;s individual components.\nConfiguring a Tracer Hint: The description in this chapter applies to any compatible OpenTracing implementation. For an easier approach to configure usage of Jaeger tracing, see the next chapter.\nHono\u0026rsquo;s components use the OpenTracing Tracer Resolver mechanism to find and initialize a concrete OpenTracing implementation during startup of the component. The discovery mechanism is using Java\u0026rsquo;s ServiceLoader and as such relies on the required resources to be available on the class path.\nWhen starting up any of Hono\u0026rsquo;s Docker images as a container, the JVM will look for additional jar files to include in its class path in the container\u0026rsquo;s /opt/hono/extensions folder. Thus, using a specific implementation of OpenTracing is just a matter of configuring the container to mount a volume or binding a host folder at that location and putting the implementation\u0026rsquo;s jar files and resources into the corresponding volume or host folder.\n Note This also means that (currently) only Tracer implementations can be used with Hono that also implement the Tracer Resolver mechanism.  Assuming that the HTTP adapter should be configured to use Jaeger tracing, the following steps are necessary:\n Download Jaeger\u0026rsquo;s Java Tracer Resolver implementation and its dependencies (see the hint at the end). Put the jars to a folder on the Docker host, e.g. /tmp/jaeger. Start the HTTP adapter Docker image mounting the host folder:\ndocker run --name hono-adapter-http-vertx \\ --mount type=bind,src=/tmp/jaeger,dst=/opt/hono/extensions,ro \\ ... \\ eclipse/hono-adapter-http-vertx   Note: the command given above does not contain the environment variables and secrets that are required to configure the service properly. The environment variables for configuring the Jaeger client are also missing. Please refer to the Jaeger documentation for details.\nWhen the HTTP adapter starts up, it will look for a working implementation of the Tracer Resolver on its classpath and (if found) initialize and use it for publishing traces. The adapter\u0026rsquo;s log file will indicate the name of the Tracer implementation being used.\nUsing a Docker volume instead of a bind mount works the same way but requires the use of volume as the type of the --mount parameter. Please refer to the Docker reference documentation for details.\nHint: to resolve all dependencies for jaeger-tracerresolver in order to provide them to /opt/hono/extensions, you may want to rely on Maven\u0026rsquo;s dependency plugin. To obtain all jar files you can invoke the following command in a simple Maven project that contains only the dependency to jaeger-tracerresolver:\nmvn dependency:copy-dependencies  All jar files can then be found in the directory target/dependency.\nConfiguring usage of Jaeger tracing (included in Docker images) In case Jaeger tracing shall be used, there is an alternative to putting the jar files in the container\u0026rsquo;s /opt/hono/extensions folder as described above. This is to have the Jaeger tracing jar files be included in the Hono Docker images by using the jaeger Maven profile when building Hono.\nFor example, building the HTTP adapter image with the Jaeger client included:\n# in directory: hono/adapters/http-vertx/ mvn clean install -Pbuild-docker-image,jaeger  Note that when running the created docker image, the environment variables for configuring the Jaeger client still need to be set. Please refer to the Jaeger documentation for details.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/dev-guide/",
+	"title": "Developer Guide",
+	"tags": [],
+	"description": "",
+	"content": " Developer Guide Learn how to integrate your custom components with Hono\u0026trade;.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/",
+	"title": "Building from Source",
+	"tags": [],
+	"description": "",
+	"content": " Hono can be deployed using the pre-built Docker images available from our Docker Hub repositories. However, customizing and/or extending Hono\u0026rsquo;s functionality requires building the images from source code.\nThis page provides step by step instructions for getting the source code and building the Hono\u0026rsquo;s Docker images from it.\nPrerequisites for building Hono Docker Creating Hono\u0026rsquo;s container images using the Hono build process requires a Docker daemon running either locally or on another host you have access to. Please follow the instructions on the Docker web site to install Docker on your platform.\nJava Hono is written in Java and therefore requires a Java Development Kit (JDK) version 11 or higher installed on your computer. Please follow the JDK vendor\u0026rsquo;s instructions for installing Java on your operating system.\nMaven Hono\u0026rsquo;s build process is based on Apache Maven. You need at least Maven 3.5 in order to build Hono. Please follow the installation instructions on the Maven home page.\nGit A Git client is required if you want to contribute changes/improvements to the Hono project. It is not necessary for simply building Hono locally. Please refer to the Git Downloads page for installation instructions.\nGetting the Hono Source Code Either\n download the latest release archive and extract the archive to a local folder or clone the Hono source code repository from GitHub:  git clone https://github.com/eclipse/hono.git  This will create a hono folder in the current working directory and clone the whole repository into that folder.  Starting the Hono Build Process Run the following from the source folder:\n# in the \u0026quot;hono\u0026quot; folder containing the source code mvn clean install -Ddocker.host=tcp://${host}:${port} -Pbuild-docker-image,metrics-prometheus  with ${host} and ${port} reflecting the name/IP address and port of the host where Docker is running on. This will build all libraries, Docker images and example code. If you are running on Linux and Docker is installed locally or you have set the DOCKER_HOST environment variable, you can omit the -Ddocker.host property definition.\nIf you plan to build the Docker images more frequently, e.g. because you want to extend or improve the Hono code, then you should define the docker.host property in your Maven settings.xml file containing the very same value as you would use on the command line as indicated above. The file is usually located in the .m2 folder in your user\u0026rsquo;s home directory. This way you can simply do a mvn clean install later on and the Docker images will be built automatically as well because the build-docker-image profile is activated automatically if the Maven property docker.host is set.\n Be patient The first build might take several minutes because Docker will need to download all the base images that Hono is relying on. However, most of these will be cached by Docker so that subsequent builds will be running much faster.  "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/",
+	"title": "Consuming Messages from Java",
+	"tags": [],
+	"description": "",
+	"content": " To illustrate how Eclipse Hono\u0026trade; can be integrated with Java code, a simple application is provided that consumes telemetry and event data for devices belonging to the default tenant.\nIt also includes support for Command and Control:\nif indicated by a received downstream message that contains a ttd value (refer to Device notifications for details) it tries to send a command to the device. If the value of ttd indicates that the device stays connected for an unlimited time (ttd == -1), the application will periodically repeat to send a command until notified the device is disconnected again (ttd == 0).\nThis application shall serve as a blueprint to integrate your existing java source code with Hono. Its code is found in the example module in the package org.eclipse.hono.vertx.example.\nThe provided classes are kept as simple as possible (in the tradition of a classical \u0026ldquo;Hello World\u0026rdquo; implementation) while still covering the most relevant messaging patterns (downstream and upstream messages). For this purpose they make use of simple constant definitions and deal with exceptions as rarely as possible. You may want to change the level of detail that should be logged to the console by editing the contained resources/logback.xml file.\nPlease refer to the javadoc of the classes for details.\n Note Note that production ready code likely has to think more about error handling and logging than this simple blueprint.  Configure the example For simplicity, all configurations are defined as Java constants inside the class HonoExampleConstants.\nIf you have Hono running in Docker under localhost, the example should work out of the box.\nSome configuration values can be overridden by providing them as property to the application.\nThis includes the host and the port of the AMQP network. In the standard setup of Hono they should be configured to the qdrouter from the Apache Qpid project. In production scenarios this might be a large setup of AMQP routers, brokers, etc.\nPlease refer to the class HonoExampleConstants to find out which part of the application can be configured by properties.\nRun the example The application waits for messages until you press any key or kill it.\nIt is started by\n# in directory: hono/example/ mvn exec:java -Dexec.mainClass=org.eclipse.hono.vertx.example.HonoExampleApplication  or - if e.g. the host of the AMQP network should be changed -\nmvn exec:java -Dexec.mainClass=org.eclipse.hono.vertx.example.HonoExampleApplication -Dconsumer.host=192.168.99.100  Telemetry and Event messages Depending on the logger configuration, all received downstream messages are printed to the console.\nPlease note that consumers do not connect with Hono directly, but rather with an AMQP router network.\nCommand and Control By using a helper class provided by Hono, a callback in the application code is invoked when a downstream message was received that signals the device will stay connected to the protocol adapter for some time (see Device notifications for details).\nInside this callback an arbitrary simple command is sent down to the device (once or periodically) and the response is logged to the console.\nEncryption of communication For the encrypted communication with Hono, the necessary truststore is already installed and used by the Hono client.\nIf you want to integrate the code with your own software, please copy the provided truststore (hono/demo-certs/certs/trusted-certs.pem) from the Hono project to the resources directory of your project and adopt the code pointing to the file location.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/",
+	"title": "Implement a Custom Hono HTTP Protocol Adapter",
+	"tags": [],
+	"description": "",
+	"content": "Eclipse Hono\u0026trade; comes with a default HTTP Adapter which can be used to interact with devices via HTTP. The default HTTP Adapter also serves as a blueprint for implementing a custom HTTP protocol adapter.\nThis section will guide you through the steps to build your own custom HTTP protocol adapter.\nPrerequisites You should be familiar with the setup and start of Hono. Refer to the Getting Started guide.\nThe standard HTTP Adapter Hono\u0026rsquo;s HTTP Adapter supports telemetry and event data processing. Please refer to the HTTP Adapter User Guide and HTTP Adapter Admin Guide for details regarding the usage and configuration of the HTTP Adapter.\nYou can find the source of the HTTP Adapter at https://github.com/eclipse/hono/tree/master/adapters/http-vertx.\nAnatomy of the standard HTTP Adapter Like many other Hono components, the HTTP Adapter is built on top of the Vert.x framework.\nThe HTTP Adapter\u0026rsquo;s VertxBasedHttpProtocolAdapter class is derived from an abstract base class. This base class implements the standard functionality for component initialization, receiving HTTP requests from devices or external clients, and forwarding of data to the downstream AMQP Messaging Network.\nDerive a custom HTTP Protocol Adapter Use the standard HTTP Adapter as a blueprint.\nAdding Routes In Vert.x, a route is a mapping of an HTTP request to a handler. Inside a route, Vert.x provides a RoutingContext instance which gives access to the HTTP request (and response) object containing the HTTP headers.\nThe standard HTTP Adapter overrides the abstract method addRoutes(), provided by the base class, and adds routes for processing telemetry data and events.\n// route for uploading telemetry data router.route(HttpMethod.PUT, String.format(\u0026quot;/telemetry/:%s/:%s\u0026quot;, PARAM_TENANT, PARAM_DEVICE_ID)) .handler(ctx -\u0026gt; uploadTelemetryMessage(ctx, getTenantParam(ctx), getDeviceIdParam(ctx)));  The route for telemetry data parses the HTTP request, extracts the tenant and deviceId parameters from the request URL path, and forwards the message payload to the method uploadTelemetryMessage(), provided by the base class.\nNB Note the Vert.x place holder indicators : inside the URL path pattern /telemetry/:%s/:%s. Vert.x makes matching place holders available as request parameters. See Capturing path parameters in the Vert.x documentation.\nThe route for events looks very similar to the route for telemetry data. It forwards the event message payload to the uploadEventMessage() method.\nPlease refer to the Telemetry API and Event API for details about the different Hono APIs.\nIn the custom HTTP protocol adapter adapt the routes according to your needs.\nBuild and run the custom HTTP Protocol Adapter If you have Hono running, you can launch your custom HTTP protocol adapter as a Docker Container or a Spring Boot application.\nYou may adopt the Maven profile build-docker-image from the Maven POM file of the standard HTTP Adapter into your custom adapter\u0026rsquo;s Maven POM file.\nFollow the guidelines for running the HTTP Adapter in HTTP Adapter. Don\u0026rsquo;t forget to configure the custom protocol adapter to bind to a different port than the standard HTTP Adapter if you intend to run them both at the same time. See the Port Configuration section of the HTTP Adapter documentation for details.\nUsing the custom HTTP Protocol Adapter Now that you have your custom HTTP protocol adapter up and running, you can use any HTTP client, like curl or HTTPie, to publish data to your custom adapter.\nNote that before publishing data to your custom HTTP protocol adapter, you need to start a consumer for the tenant you intend to publish data for. Otherwise you will not be able to successfully send data. For this purpose, you may use the example consumer as described in the Getting Started guide.\nFurther extend the custom HTTP Protocol Adapter The abstract base class includes additional hooks which you may use to plug into the adapter\u0026rsquo;s life cycle:\n   Hook Description     preStartup() called before start of adapter\u0026rsquo;s HTTP server   onStartupSuccess() called after successful start of adapter   preShutdown() called before stop of adapter\u0026rsquo;s HTTP server   postShutdown called after successful stop of adapter   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/",
+	"title": "API",
+	"tags": [],
+	"description": "",
+	"content": " API Documentation of the APIs defined by Hono\u0026trade;.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/telemetry-api/",
+	"title": "Telemetry API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Telemetry API is used by Protocol Adapters to send telemetry data downstream. Business Applications and other consumers use the API to receive data published by devices belonging to a particular tenant.\nThe Telemetry API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using AMQP 1.0 in order to invoke operations of the API as described in the following sections. Throughout the remainder of this page we will simply use AMQP when referring to AMQP 1.0.\nSouthbound Operations The following operations can be used by Protocol Adapters to forward telemetry data received from devices to downstream consumers like Business Applications.\nForward Telemetry Data Preconditions\n Adapter has established an AMQP connection with the AMQP Messaging Network. Adapter has established an AMQP link in role sender with the AMQP Messaging Network using target address telemetry/${tenant_id} where ${tenant_id} is the ID of the tenant that the client wants to upload telemetry data for. The device for which the adapter wants to send telemetry data has been registered (see Device Registration API).  The adapter indicates its preferred message delivery mode by means of the snd-settle-mode and rcv-settle-mode fields of its attach frame during link establishment.\n   snd-settle-mode rcv-settle-mode Delivery semantics     unsettled, mixed first Using unsettled for the snd-settle-mode allows for adapters to implement both AT LEAST ONCE or AT MOST ONCE delivery semantics, depending on whether the adapter waits for and considers the disposition frames it receives from the AMQP Messaging Network or not. This is the recommended mode for forwarding telemetry data.   settled first Using settled for the snd-settle-mode allows for adapters to implement AT MOST ONCE 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.    All other combinations are not supported by Hono and may result in the termination of the link or connection (depending on the configuration of the AMQP Messaging Network).\nMessage Flow\nAs indicated above, it is up to the discretion of the protocol adapter whether it wants to use AT LEAST ONCE or AT MOST ONCE delivery semantics.\nHono\u0026rsquo;s HTTP adapter allows devices to indicate, which delivery semantics they want to use when uploading telemetry data.\nThe following sequence diagram illustrates the flow of messages involved in the HTTP Adapter forwarding an unsettled telemetry data message to the downstream AMQP Messaging Network implementing AT MOST ONCE delivery semantics.\n  Forward telemetry data flow (AT MOST ONCE)    Device 4711 PUTs telemetry data to the HTTP Adapter  HTTP Adapter transfers telemetry data to AMQP 1.0 Messaging Network. HTTP Adapter acknowledges the reception of the data to the Device.  AMQP 1.0 Messaging Network acknowledges reception of the message which is ignored by the HTTP Adapter.   Note In the example above the HTTP adapter does not wait for the outcome of the transfer of the message to the AMQP Messaging Network before sending back the HTTP response to the device. If the messaging network had sent a disposition frame with the rejected instead of the accepted outcome, the HTTP adapter would still have signaled a 202 status code back to the device. In this case the data would have been lost without the device noticing.  The following sequence diagram illustrates the flow of messages involved in the HTTP Adapter forwarding an unsettled telemetry data message to the downstream AMQP Messaging Network implementing AT LEAST ONCE delivery semantics.\n  Forward telemetry data flow (AT LEAST ONCE)    Device 4711 PUTs telemetry data to the HTTP Adapter, indicating QoS Level 1.  HTTP Adapter transfers telemetry data to AMQP 1.0 Messaging Network. AMQP 1.0 Messaging Network acknowledges reception of the message. HTTP Adapter acknowledges the reception of the data to the Device.   When the AMQP Messaging Network fails to settle the transfer of a telemetry message or settles the transfer with any other outcome than accepted, the protocol adapter MUST NOT try to re-send such rejected messages but SHOULD indicate the failed transfer to the device if the transport protocol provides means to do so.\nMessage Format\nThe following table provides an overview of the properties a client needs to set on a Forward Telemetry Data message.\n   Name Mandatory Location Type Description     content-type yes properties symbol A content type indicating the type and characteristics of the data contained in the payload, e.g. text/plain; charset=\u0026quot;utf-8\u0026quot; for a text message or application/json etc. The value may be set to application/octet-stream if the message payload is to be considered opaque binary data.   creation-time no properties timestamp The instant in time when the message has been created (see the AMQP 1.0 specification for details). This property is mandatory if ttd is set, otherwise it is optional.   device_id yes application-properties string The identifier of the device that the data in the payload is originating from.   ttd no application-properties int The time \u0026lsquo;til disconnect indicates the number of seconds that the device will remain connected to the protocol adapter. The value of this property must be interpreted relative to the message\u0026rsquo;s creation-time. A value of -1 is used to indicate that the device will remain connected until further notice, i.e. until another message indicates a ttd value of 0. In absence of this property, the connection status of the device is to be considered indeterminate. Backend Applications might use this information to determine a time window during which the device will be able to receive a command.    The body of the message MUST consist of a single AMQP Data section containing the telemetry data. The format and encoding of the data MUST be indicated by the content-type and (optional) content-encoding properties of the message.\nAny additional properties set by the client in either the properties or application-properties sections are preserved by Hono, i.e. these properties will also be contained in the message delivered to consumers.\nNorthbound Operations Receive Telemetry Data Hono delivers messages containing telemetry data reported by a particular device in the same order that they have been received in (using the Upload Telemetry Data operation defined above). Hono MAY drop telemetry messages that it cannot deliver to any consumers. Reasons for this include that there are no consumers connected to Hono or the existing consumers are not able to process the messages from Hono fast enough.\nHono supports multiple non-competing Business Application consumers of telemetry data for a given tenant. Hono allows each Business Application to have multiple competing consumers for telemetry data for a given tenant to share the load of processing the messages.\nPreconditions\n Client has established an AMQP connection with Hono. Client has established an AMQP link in role receiver with Hono using source address telemetry/${tenant_id} where ${tenant_id} represents the ID of the tenant the client wants to retrieve telemetry data for.  Hono supports both AT MOST ONCE as well as AT LEAST ONCE delivery of telemetry messages. However, clients SHOULD use AT LEAST ONCE delivery in order to support end-to-end flow control and therefore SHOULD set the snd-settle-mode field to unsettled and the rcv-settle-mode field to first in their attach frame during link establishment.\nA client MAY indicate to Hono during link establishment that it wants to distribute the telemetry messages received for a given tenant among multiple consumers by including a link property subscription-name whose value is shared by all other consumers of the tenant. Hono ensures that messages from a given device are delivered to the same consumer. Note that this also means that telemetry messages MAY not be evenly distributed among consumers, e.g. when only a single device sends data. NB This feature is not supported yet.\nIn addition a client MAY include a boolean link property ordering-required with value false during link establishment in order to indicate to Hono that it does not require messages being delivered strictly in order per device but instead allows for messages being distributed evenly among the consumers. NB This feature is not supported yet.\nMessage Flow\nThe following sequence diagram illustrates the flow of messages involved in a Business Application receiving a telemetry data message from Hono. The delivery mode used is AT LEAST ONCE.\n  Receive Telemetry Data    AMQP 1.0 Messaging Network delivers telemetry message to Business Application.  Business Application acknowledges reception of message.    Note The Business Application can only consume telemetry messages that have been uploaded to Hono after the Business Application has established the link with the AMQP 1.0 Messaging Network. This is because telemetry messages are not durable, i.e. they are not persisted in Hono in order to be forwarded at a later time.  Message Format\nThe format of the messages containing the telemetry data is the same as for the Upload Telemetry Data operation.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/event-api/",
+	"title": "Event API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Event API is used by Protocol Adapters to send event messages downstream. Business Applications and other consumers use the API to receive messages published by devices belonging to a particular tenant.\nThe Event API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using AMQP 1.0 in order to invoke operations of the API as described in the following sections. Throughout the remainder of this page we will simply use AMQP when referring to AMQP 1.0.\nSouthbound Operations The following operations can be used by Protocol Adapters to forward event messages received from devices to downstream consumers like Business Applications.\nForward Event Preconditions\n Adapter has established an AMQP connection with the AMQP Messaging Network. Adapter has established an AMQP link in role sender with the AMQP Messaging Network using target address event/${tenant_id} where ${tenant_id} is the ID of the tenant that the client wants to upload event messages for. The device for which the adapter wants to send an event has been registered (see Device Registration API).  Hono supports AT LEAST ONCE delivery of Event messages only. A client therefore MUST use unsettled for the snd-settle-mode and first for the rcv-settle-mode fields of its attach frame during link establishment. All other combinations are not supported by Hono and may result in the termination of the link or connection (depending on the configuration of the AMQP Messaging Network).\nThe AMQP messages used to forward events to the AMQP Messaging Network MUST have their durable property set to true. The AMQP Messaging Network is expected to write such messages to a persistent store before settling the transfer with the accepted outcome.\nMessage Flow\nThe following sequence diagram illustrates the flow of messages involved in the MQTT Adapter forwarding an event to the downstream AMQP Messaging Network.\n  Forward event flow    Device 4711 publishes an event using MQTT QoS 1.  MQTT Adapter transfers data to AMQP 1.0 Messaging Network. AMQP 1.0 Messaging Network acknowledges reception of the message. MQTT Adapter acknowledges the message published by the device.   When the AMQP Messaging Network fails to settle the transfer of an event message or settles the transfer with any other outcome than accepted, the protocol adapter MUST NOT try to re-send such rejected messages but MUST indicate the failed transfer to the device if the transport protocol provides means to do so.\nMessage Format\nSee Telemetry API for definition of message format.\nNorthbound Operations Receive Events Hono delivers messages containing events reported by a particular device in the same order that they have been received in (using the Forward Event operation defined above).\nHono supports multiple non-competing Business Application consumers of event messages for a given tenant. Hono allows each Business Application to have multiple competing consumers for event messages for a given tenant to share the load of processing the messages.\nPreconditions\n Client has established an AMQP connection with Hono. Client has established an AMQP link in role receiver with Hono using source address event/${tenant_id} where ${tenant_id} represents the ID of the tenant the client wants to retrieve event messages for.  Hono supports AT LEAST ONCE delivery of Event messages only. A client therefore MUST use unsettled for the snd-settle-mode and first for the rcv-settle-mode fields of its attach frame during link establishment. All other combinations are not supported by Hono and result in the termination of the link.\nMessage Flow\nThe following sequence diagram illustrates the flow of messages involved in a Business Application receiving an event data message from Hono.\n  Receive event data flow (success)    AMQP 1.0 Messaging Network delivers event message to Business Application.  Business Application acknowledges reception of message.   Message Format\nSee Telemetry API for definition of message format.\nWell-known Event Message Types Hono defines several well-known event types which have specific semantics. Events of these types are identified by means of the AMQP message\u0026rsquo;s content-type.\nEmpty Notification An AMQP message containing this type of event does not have any payload so the body of the message MUST be empty.\nThe AMQP 1.0 properties an event sender needs to set for an empty notification event are defined in the Telemetry API.\nThe relevant properties are listed again in the following table:\n   Name Mandatory Location Type Description     content-type yes properties symbol MUST be set to application/vnd.eclipse-hono-empty-notification   ttd no application-properties int The time \u0026lsquo;til disconnect as described in the Telemetry API.    NB: An empty notification can be used to indicate to a Business Application that a device is currently ready to receive an upstream message by setting the ttd property. Backend Applications may use this information to determine the time window during which the device will be able to receive a command.\nConnection Event Protocol Adapters may send this type of event to indicate that a connection with a device has been established or has ended. Note that such events can only be sent for authenticated devices, though, because an event is always scoped to a tenant and the tenant of a device is established as part of the authentication process.\nThe AMQP message for a connection event MUST contain the following properties in addition to the standard event properties:\n   Name Mandatory Location Type Description     content-type yes properties symbol Must be set to application/vnd.eclipse-hono-dc-notification+json   device_id yes application-properties string The ID of the authenticated device    Each connection event\u0026rsquo;s payload MUST contain a UTF-8 encoded string representation of a single JSON object with the following fields:\n   Name Mandatory Type Description     cause yes string The cause of the connection event. MUST be set to either connected or disconnected.   remote-id yes string An identifier of the device that is the subject of this event, e.g. an IP address:port, client id etc. The format and semantics of this identifier is specific to the protocol adapter and the transport protocol it supports.   source yes string The type name of the protocol adapter reporting the event, e.g. hono-mqtt.   data no object An arbitrary JSON object which may contain additional information about the occurrence of the event.    The example below might be used by the MQTT adapter to indicate that a connection with a device using client identifier mqtt-client-id-1 has been established:\n{ \u0026quot;cause\u0026quot;: \u0026quot;connected\u0026quot;, \u0026quot;remote-id\u0026quot;: \u0026quot;mqtt-client-id-1\u0026quot;, \u0026quot;source\u0026quot;: \u0026quot;hono-mqtt\u0026quot;, \u0026quot;data\u0026quot;: { \u0026quot;foo\u0026quot;: \u0026quot;bar\u0026quot; } } "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/",
+	"title": "Command &amp; Control API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Command \u0026amp; Control API of Eclipse Hono\u0026trade; is used by Business Applications to send commands to connected devices.\nCommands can be used to trigger actions on devices. Examples include updating a configuration property, installing a software component or switching the state of an actuator.\nHono distinguishes two types of commands. The first type is one-way only. In this case the sender of the command does not expect the device to send back a message in response to the command. This type of command is referred to as a one-way command in the remainder of this page. One-way commands may be used to e.g. notify a device about a change of state.\nThe second type of commands expects a response to be sent back from the device as a result of processing the command. In this case the response contains a status code which indicates whether the command could be processed successfully. If so, the response may also include data representing the result of processing the command. This type of command is plainly referred to as a command because it represents the default case.\nThe Command \u0026amp; Control API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using AMQP 1.0 in order to invoke operations of the API as described in the following sections. Throughout the remainder of this page we will simply use AMQP when referring to AMQP 1.0.\nSend a One-Way Command Business Applications use this operation to send a command to a device for which they do not expect to receive a response from the device.\nPreconditions\n The Business Application has established an AMQP connection with the AMQP 1.0 Network. The Business Application has established an AMQP link in role sender with the target address command/${tenant_id}, where ${tenant_id} is the ID of the tenant that the device belongs to. This link is used by the Business Application to send command messages.  The following sequence diagram illustrates the establishment of the required link:\n  Application connecting to the AMQP 1.0 Messaging Network    Deprecation Previous versions of Hono required applications to\n use a sender link with target address control/${tenant_id}/${device_id} for sending one-ways commands to a specific device.  This link address can still be used but support for it will be removed in a future version of Hono! Newly built applications should only use the tenant scoped link as described above. Note that the deprecated link address also does not support sending commands to devices connected via a gateway.\n  Message Format\nThe following table provides an overview of the properties the Business Application needs to set on a one-way command message.\n   Name Mandatory Location Type Description     to yes properties string MUST contain the target address command/${tenant_id}/${device_id} of the message, where ${device_id} is the ID of the device to send the message to.   subject yes properties string The name of the command to be executed by the device.   content-type no properties string If present, MUST contain a Media Type as defined by RFC 2046 which describes the semantics and format of the command\u0026rsquo;s input data contained in the message payload. However, not all protocol adapters will support this property as not all transport protocols provide means to convey this information, e.g. MQTT 3.1.1 has no notion of message headers.   message-id no properties string An identifier that uniquely identifies the message at the sender side.    The command message MAY contain arbitrary payload to be sent to the device in a single AMQP Data section. The value of the message\u0026rsquo;s subject property may provide a hint to the device regarding the format, encoding and semantics of the payload data.\nHono indicates the outcome of the operation by means of the following AMQP delivery states:\n   Delivery State Description     accepted The command has been delivered to the device for processing.   released The command has not been delivered to the device because the device is (currently) not connected.   rejected The command has not been delivered to the device because it does not contain all required information.    Note that Hono relies on the particular protocol adapter to deliver commands to devices. Depending on the used transport protocol and the adapter\u0026rsquo;s implementation, the accepted outcome may thus indicate any of the following:\n An attempt has been made to deliver the command to the device. However, it is unclear if the device has received (or processed) the command. The device has acknowledged the reception of the command but has not processed the command yet. The device has received and processed the command.  Examples\nThe following sequence diagram shows the successful delivery of a one-way command called switchOn to device 4711 of the DEFAULT_TENANT:\n  Successfully send a One-Way Command   The following sequence diagram shows how the delivery of the same one-way command fails because the device is not connected:\n  Device not connected   The following sequence diagram illustrates how a malformed command sent by a Business Application gets rejected:\n  Malformed Command message   Send a (Request/Response) Command Business Applications use this operation to send a command to a device for which they expect the device to send back a response.\n\nPreconditions\n The Business Application has established an AMQP connection with the AMQP 1.0 Network. The Business Application has established an AMQP link in role sender with the target address command/${tenant_id}, where ${tenant_id} is the ID of the tenant that the device belongs to. This link is used by the Business Application to send command messages. The Business Application has established an AMQP link in role receiver with the source address command_response/${tenant_id}/${reply_id}. This link is used by the Business Application to receive the response to the command from the device. This link’s source address is also used as the reply-to address for the request messages. The ${reply_id} may be any arbitrary string chosen by the application.  The following sequence diagram illustrates the establishment of the required links:\n  Application connecting to the AMQP 1.0 Messaging Network    Deprecation Previous versions of Hono required applications to\n use a sender link with target address control/${tenant_id}/${device_id} for sending commands to a specific device and use a receiver link with source address control/${tenant_id}/${device_id}/{reply_id} for receiving command responses from a device.  These link addresses can still be used but support for them will be removed in a future version of Hono! Newly built applications should only use the tenant scoped links as described above. Note that the deprecated link addresses also do not support sending commands to devices connected via a gateway.\n  Command Message Format\nThe following table provides an overview of the properties the Business Application needs to set on a command message.\n   Name Mandatory Location Type Description     to yes properties string MUST contain the target address command/${tenant_id}/${device_id} of the message, where ${device_id} is the ID of the device to send the message to.   subject yes properties string MUST contain the command name to be executed by a device.   content-type no properties string If present, MUST contain a Media Type as defined by RFC 2046 which describes the semantics and format of the command\u0026rsquo;s input data contained in the message payload. However, not all protocol adapters will support this property as not all transport protocols provide means to convey this information, e.g. MQTT 3.1.1 has no notion of message headers.   correlation-id no properties string MAY contain an ID used to correlate a response message to the original request. If set, it is used as the correlation-id property in the response, otherwise the value of the message-id property is used. Either this or the message-id property MUST be set.   message-id no properties string MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the correlation-id property MUST be set.   reply-to yes properties string MUST contain the source address that the application expects to receive the response from. This address MUST be the same as the source address used for establishing the client\u0026rsquo;s receiver link (see Preconditions above).    The command message MAY contain arbitrary payload to be sent to the device in a single AMQP Data section. The value of the command message\u0026rsquo;s subject value may provide a hint to the device regarding the format, encoding and semantics of the payload data.\nHono uses following AMQP delivery states to indicate the outcome of sending the command to the device:\n   Delivery State Description     accepted The command has been delivered to the device for processing.   released The command has not been delivered to the device because the device is (currently) not connected.   rejected The command has not been delivered to the device because it does not contain all required information.    Note that Hono relies on the particular protocol adapter to deliver commands to devices. Depending on the used transport protocol and the adapter\u0026rsquo;s implementation, the accepted outcome may thus indicate any of the following:\n An attempt has been made to deliver the command to the device. However, it is unclear if the device has received (or processed) the command. The device has acknowledged the reception of the command but has not processed the command yet.  An application can determine the overall outcome of the operation by means of the response to the command that is sent back by the device. An application should consider execution of a command to have failed, if it does not receive a response within a reasonable amount of time.\nResponse Message Format\nThe following table provides an overview of the properties set on a message sent in response to a command.\n   Name Mandatory Location Type Description     content-type no properties string If present, MUST contain a Media Type as defined by RFC 2046 which describes the semantics and format of the command\u0026rsquo;s input data contained in the message payload. However, not all protocol adapters will support this property as not all transport protocols provide means to convey this information, e.g. MQTT 3.1.1 has no notion of message headers.   correlation-id yes properties string MUST contain the correlation ID used to match the command message with the response message containing the result of execution on the device.   device_id yes application-properties string The identifier of the device that sent the response.   status yes application-properties integer MUST indicate the status of the execution. See table below for possible values.   tenant_id yes application-properties string The identifier of the tenant that the device belongs to.    The status property must contain an HTTP 1.1 response status code:\n   Code Description     2xx The command has been processed successfully.   4xx The command could not be processed due to a client error, e.g. malformed message payload.   5xx The command could not be processed due to an internal problem at the device side.    The semantics of the individual codes are specific to the device and command. For status codes indicating an error (codes in the 400 - 599 range) the message body MAY contain a detailed description of the error that occurred.\nIf a command message response contains a payload, the body of the message MUST consist of a single AMQP Data section containing the response message data.\nExamples\nThe following sequence diagram illustrates how a Business Application sends a command called getReading to device 4711 of the DEFAULT_TENANT and receives a response from the device:\n  Successfully send a Command   The sending of a command may fail for the same reasons as those illustrated for sending a one-way command. Additionally, the sending of a command may be considered unsuccessful by an application if it does not receive the response from the device in a reasonable amount of time:\n  Command times out  "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/tenant-api/",
+	"title": "Tenant API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Tenant API is used by Hono\u0026rsquo;s protocol adapters to retrieve information that affects all devices belonging to a particular tenant. A tenant is a logical entity, which groups together a set of devices. The information registered for a tenant is used for example to determine if devices belonging to the tenant are allowed to connect to a certain protocol adapter or if devices are required to authenticate.\nThis document describes the Tenant API\u0026rsquo;s operations and the payload data format used by them. Please refer to Multi Tenancy for details regarding the way Hono supports multiple tenants.\nThe Tenant API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.\n\nPreconditions for invoking the Tenant API  Client has established an AMQP connection with the Tenant service. Client has established an AMQP link in role sender on the connection using target address tenant. This link is used by the client to send request messages to the Tenant service. Client has established an AMQP link in role receiver on the connection using source address tenant/${reply-to} where reply-to may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Tenant service. This link\u0026rsquo;s source address is also referred to as the reply-to address for the request messages.    Client connecting to Tenant service   Get Tenant Information Clients use this operation to retrieve information about a tenant.\nMessage Flow\nThe following sequence diagram illustrates the flow of messages involved in a Client retrieving tenant information.\n  Client retrieving tenant information   Request Message Format\nThe following table provides an overview of the properties a client needs to set on a message to get tenant information:\n   Name Mandatory Location AMQP Type Description     correlation-id no properties message-id MAY contain an ID used to correlate a response message to the original request. If set, it is used as the correlation-id property in the response, otherwise the value of the message-id property is used. Either this or the message-id property MUST be set.   message-id no properties string MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the correlation-id property MUST be set.   reply-to yes properties string MUST contain the source address that the client wants to receive response messages from. This address MUST be the same as the source address used for establishing the client\u0026rsquo;s receive link (see Preconditions).   subject yes properties string MUST be set to get.    The body of the request message MUST consist of a single Data section containing a UTF-8 encoded string representation of a single JSON object.\nThe JSON object MUST contain exactly one of the following search criteria properties:\n   Name Mandatory JSON Type Description     subject-dn no string The subject DN of the trusted certificate authority\u0026rsquo;s public key in the format defined by RFC 2253.   tenant-id no string The identifier of the tenant to get.    The following request payload may be used to look up the tenant with identifier ACME Corporation:\n{ \u0026quot;tenant-id\u0026quot;: \u0026quot;ACME Corporation\u0026quot; }  The following request payload may be used to look up the tenant for which a trusted certificate authority with subject DN O=ACME Corporation, CN=devices has been configured:\n{ \u0026quot;subject-dn\u0026quot;: \u0026quot;CN=devices,O=ACME Corporation\u0026quot; }  Response Message Format\nThe following table provides an overview of the properties contained in a response message to a get tenant information request:\n   Name Mandatory Location AMQP Type Description     correlation-id yes properties message-id Contains the message-id (or the correlation-id, if specified) of the request message that this message is the response to.   content-type no properties string MUST be set to application/json if the invocation of the operation was successful and the body of the response message contains payload as described below.   status yes application-properties int Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined for each particular operation.   cache_control no application-properties string Contains an RFC 2616 compliant cache directive. The directive contained in the property MUST be obeyed by clients that are caching responses.    The response message\u0026rsquo;s status property may contain the following codes:\n   Code Description     200 OK, The response message body contains the requested tenant information.   400 Bad Request, the request message did not contain all mandatory properties.   403 Forbidden, the client is not authorized to retrieve information for the given tenant.   404 Not Found, there is no tenant matching the given search criteria.    For status codes indicating an error (codes in the 400 - 499 range) the message body MAY contain a detailed description of the error that occurred. In this case, the response message\u0026rsquo;s content-type property SHOULD be set accordingly.\nOtherwise the response message contains the information for the requested tenant as described in the following sections.\n\nTenant Information Format Tenant information is carried in a single Data section of the response message as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.\nThe table below provides an overview of the standard members defined for the JSON response object:\n   Name Mandatory JSON Type Description     adapters no array A list of configuration options valid for certain adapters only. The format of a configuration option is described here Adapter Configuration Format. NB If the element is provided then the list MUST NOT be empty. NB Only a single entry per type is allowed. If multiple entries for the same type are present it is handled as an error. NB If the element is omitted then all adapters are enabled in their default configuration.   defaults no object Arbitrary default properties for devices belonging to the tenant. The properties can be used by protocol adapters to augment downstream messages with missing information, e.g. setting a default content type or time-to-live.   enabled yes boolean If set to false the tenant is currently disabled. Protocol adapters MUST NOT allow devices of a disabled tenant to connect and MUST NOT accept data published by such devices.   minimum-message-size no number The minimum message size in bytes. If it is set then the payload size of the telemetry, event and command messages are calculated in accordance with the configured value and then reported to the metrics. See Metrics for more details.   resource-limits no object Any resource limits that should be enforced for the tenant, e.g. the maximum number of concurrent connections and the maximum data volume for a given period. Refer to Resource Limits Configuration Format for details.   tenant-id yes string The ID of the tenant.   trusted-ca no object The trusted certificate authority to use for validating certificates presented by devices of the tenant for authentication purposes. See Trusted Certificate Authority Format for a definition of the content model of the object.    The JSON object MAY contain an arbitrary number of additional members with arbitrary names which can be of a scalar or a complex type. This allows for future well-known additions and also allows to add further information which might be relevant to a custom adapter only.\nExamples\nThe JSON structure below contains example information for tenant TEST_TENANT. Note that the structure contains some custom properties at both the root level (customer) as well as the adapter configuration level (deployment) and also defines a default TTL for downstream messages.\n{ \u0026quot;tenant-id\u0026quot; : \u0026quot;TEST_TENANT\u0026quot;, \u0026quot;defaults\u0026quot;: { \u0026quot;ttl\u0026quot;: 30 }, \u0026quot;enabled\u0026quot; : true, \u0026quot;customer\u0026quot;: \u0026quot;ACME Inc.\u0026quot;, \u0026quot;resource-limits\u0026quot;: { \u0026quot;max-connections\u0026quot;: 100000, \u0026quot;data-volume\u0026quot;: { \u0026quot;max-bytes\u0026quot;: 2147483648, \u0026quot;period-in-days\u0026quot;: 30, \u0026quot;effective-since\u0026quot;: \u0026quot;2019-04-27\u0026quot; } }, \u0026quot;adapters\u0026quot; : [ { \u0026quot;type\u0026quot; : \u0026quot;hono-mqtt\u0026quot;, \u0026quot;enabled\u0026quot; : true, \u0026quot;device-authentication-required\u0026quot; : true }, { \u0026quot;type\u0026quot; : \u0026quot;hono-http\u0026quot;, \u0026quot;enabled\u0026quot; : true, \u0026quot;device-authentication-required\u0026quot; : true, \u0026quot;deployment\u0026quot;: { \u0026quot;maxInstances\u0026quot;: 4 } } ] }  Trusted CA Format The table below provides an overview of the members defined for the trusted-ca JSON object:\n   Name Mandatory Type Default Value Description     subject-dn yes string  The subject DN of the trusted root certificate in the format defined by RFC 2253.   cert no string  The Base64 encoded binary DER encoding of the trusted root X.509 certificate.   public-key no string  The Base64 encoded binary DER encoding of the trusted root certificate\u0026rsquo;s public key.   algorithm no string RSA The name of the public key algorithm. Supported values are RSA and EC. This property is ignored if the cert property is used to store a certificate.     The subject-dn MUST be unique among all registered tenants. Either the cert or the public-key MUST be set.  Adapter Configuration Format The table below contains the properties which are used to configure a Hono protocol adapter:\n   Name Mandatory JSON Type Default Value Description     type yes string - The type of the adapter which this configuration belongs to.   enabled no boolean false If set to false the tenant is not allowed to receive / send data utilizing the given adapter.   device-authentication-required no boolean true If set to false, devices are not required to authenticate with the adapter before sending / receiving data.    Protocol adapters SHOULD use the configuration properties set for a tenant when interacting with devices of that tenant, e.g. in order to make authorization decisions etc.\nThe JSON object MAY contain an arbitrary number of additional members with arbitrary names of either scalar or complex type. This allows for future well-known additions and also allows to add further information which might be relevant to a custom adapter only.\nResource Limits Configuration Format The table below contains the properties which are used to configure a tenant\u0026rsquo;s resource limits:\n   Name Mandatory JSON Type Default Value Description     max-connections no number -1 The maximum number of concurrent connections allowed from devices of this tenant. The default value -1 indicates that no limit is set.   data-volume no object - The maximum data volume allowed for the given tenant. Refer to Data Volume Configuration Format for details.    Protocol adapters SHOULD use the max-connections property to determine if a device\u0026rsquo;s connection request should be accepted or rejected.\nThe JSON object MAY contain an arbitrary number of additional members with arbitrary names of either scalar or complex type. This allows for future well-known additions and also allows to add further information which might be relevant to a custom adapter only.\nData Volume Configuration Format The table below contains the properties which are used to configure a tenant\u0026rsquo;s data volume limit:\n   Name Mandatory JSON Type Default Value Description     max-bytes no number -1 The maximum number of bytes allowed for the tenant for each accounting period. MUST be an integer. A negative value indicates that no limit is set.   period-in-days no number 30 The length of an accounting period, i.e. the number of days over which the data usage is to be limited. MUST be a positive integer.   effective-since yes string - The point in time at which the current settings became effective, i.e. the start of the first accounting period based on these settings. The value MUST be an ISO 8601 compliant combined date and time representation in extended format.    Protocol adapters SHOULD use this information to determine if a message originating from or destined to a device should be accepted for processing.\nDelivery States used by the Tenant API A Tenant service implementation uses the following AMQP message delivery states when receiving request messages from clients:\n   Delivery State Description     ACCEPTED Indicates that the request message has been received and accepted for processing.   REJECTED Indicates that the request message has been received but cannot be processed. The disposition frame\u0026rsquo;s error field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties and payload in this case.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/device-connection-api/",
+	"title": "Device Connection API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Device Connection API is used by Protocol Adapters to set and retrieve information about the connections from devices or gateways to the protocol adapters.\nThe Device Connection API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.\n\nPreconditions for invoking the Device Connection API  Client has established an AMQP connection with the Device Connection service. Client has established an AMQP link in role sender on the connection using target address device_con/${tenant_id}. This link is used by the client to send commands concerning device connections to Hono. Client has established an AMQP link in role receiver on the connection using source address device_con/${tenant_id}/${reply-to} where reply-to may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Device Connection service. This link\u0026rsquo;s source address is also referred to as the reply-to address for the request messages.    Client connecting to Device Connection service   Set last known Gateway for Device Clients use this command to set the gateway that last acted on behalf of a given device.\nAs this operation is invoked frequently by Hono\u0026rsquo;s components, implementors may choose to keep this information in memory. This API doesn\u0026rsquo;t mandate checks on the validity of the given device or gateway IDs in order not to introduce a dependency on the Device Registration API. However, implementations of this API may choose to perform such checks or impose a restriction on the overall amount of data that can be stored per tenant in order to protect against malicious requests.\nMessage Flow\n  Client sets the last known gateway for a device   Request Message Format\nThe following table provides an overview of the properties a client needs to set on a message to set the last known gateway for a device in addition to the Standard Request Properties.\n   Name Mandatory Location AMQP Type Description     subject yes properties string MUST be set to set-last-gw.   gateway_id yes application-properties string The identifier of the gateway that last acted on behalf of the device identified by the device_id property. If a device connects directly instead of through a gateway, the device\u0026rsquo;s identifier MUST be specified here.    The body of the message SHOULD be empty and will be ignored if it is not.\nResponse Message Format\nA response to a set last known gateway for device request contains the Standard Response Properties.\nThe response message\u0026rsquo;s status property may contain the following codes:\n   Code Description     204 OK, the last known gateway for the device has been updated.   400 Bad Request, the last known gateway has not been updated due to invalid or missing data in the request.    Implementors of this API may return a 404 status code in order to indicate that no device and/or gateway with the given identifier exists for the given tenant. However, performing such a check is optional.\nFor status codes indicating an error (codes in the 400 - 499 range) the message body MAY contain a detailed description of the error that occurred.\nGet last known Gateway for Device Clients use this command to retrieve the gateway that last acted on behalf of a given device.\nMessage Flow\n  Client retrieving the last known gateway for a device   Request Message Format\nThe following table provides an overview of the properties a client needs to set on a message to retrieve the last known gateway for a device in addition to the Standard Request Properties.\n   Name Mandatory Location AMQP Type Description     subject yes properties string MUST be set to get-last-gw.    The body of the message SHOULD be empty and will be ignored if it is not.\nResponse Message Format\nA response to a get last known gateway for device request contains the Standard Response Properties as well as the properties shown in the following table:\n   Name Mandatory Location AMQP Type Description     content-type no properties string MUST be set to application/json if the invocation of the operation was successful and the body of the response message contains payload as described below.    The result of a successful invocation is carried in a single Data section of the response message as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.\nThe response message JSON object has the following properties:\n   Name Mandatory JSON Type Description     gateway-id yes string The ID of the last known gateway for the device.   last-updated no string The date that the information about the last known gateway for the device was last updated. The value MUST be an ISO 8601 compliant combined date and time representation in extended format.    The response message\u0026rsquo;s status property may contain the following codes:\n   Code Description     200 OK, the payload contains the gateway ID.   400 Bad Request, the request message does not contain all required information/properties.   404 Not Found, there is no last known gateway assigned to the device.    Implementors of this API may return a 404 status code in order to indicate that no device with the given identifier exists for the given tenant. However, performing such a check is optional.\nFor status codes indicating an error (codes in the 400 - 499 range) the message body MAY contain a detailed description of the error that occurred.\nStandard Message Properties Due to the nature of the request/response message pattern of the operations of the Device Connection API, there are some standard properties shared by all of the request and response messages exchanged as part of the operations.\nStandard Request Properties The following table provides an overview of the properties shared by all request messages regardless of the particular operation being invoked.\n   Name Mandatory Location AMQP Type Description     subject yes properties string MUST be set to the value defined by the particular operation being invoked.   correlation-id no properties message-id MAY contain an ID used to correlate a response message to the original request. If set, it is used as the correlation-id property in the response, otherwise the value of the message-id property is used. Either this or the message-id property MUST be set.   message-id no properties string MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the correlation-id property MUST be set.   reply-to yes properties string MUST contain the source address that the client wants to received response messages from. This address MUST be the same as the source address used for establishing the client\u0026rsquo;s receive link (see Preconditions).   device_id yes application-properties string MUST contain the ID of the device that is subject to the operation.    Standard Response Properties The following table provides an overview of the properties shared by all response messages regardless of the particular operation being invoked.\n   Name Mandatory Location AMQP Type Description     correlation-id yes properties message-id Contains the message-id (or the correlation-id, if specified) of the request message that this message is the response to.   status yes application-properties int Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined for each particular operation.   cache_control no application-properties string Contains an RFC 2616 compliant cache directive. The directive contained in the property MUST be obeyed by clients that are caching responses.    Delivery States Hono uses the following AMQP message delivery states when receiving request messages from clients:\n   Delivery State Description     ACCEPTED Indicates that the request message has been received and accepted for processing.   REJECTED Indicates that Hono has received the request but was not able to process it. The error field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/device-registration-api/",
+	"title": "Device Registration API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Device Registration API is used by Hono\u0026rsquo;s protocol adapters to get information about devices connecting to the adapters.\nThe Device Registration API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.\n\nPreconditions for invoking the Device Registration API  Client has established an AMQP connection with the Device Registration service. Client has established an AMQP link in role sender on the connection using target address registration/${tenant_id}. This link is used by the client to send request messages to the Device Registration service. Client has established an AMQP link in role receiver on the connection using source address registration/${tenant_id}/${reply-to} where reply-to may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Device Registration service. This link\u0026rsquo;s source address is also referred to as the reply-to address for the request messages.    Client connecting to Device Registration service   Assert Device Registration Clients use this command to verify that a device is registered for a particular tenant and is enabled.\nMessage Flow\nThe following sequence diagram illustrates the flow of messages involved in a Client asserting a device\u0026rsquo;s registration status.\n  Client asserting a device\u0026#39;s registration status   Request Message Format\nThe following table provides an overview of the properties a client needs to set on a message to assert a device\u0026rsquo;s registration status:\n   Name Mandatory Location AMQP Type Description     correlation-id no properties message-id MAY contain an ID used to correlate a response message to the original request. If set, it is used as the correlation-id property in the response, otherwise the value of the message-id property is used. Either this or the message-id property MUST be set.   device_id yes application-properties string MUST contain the ID of the device that is subject to the operation.   gateway_id no application-properties string The identifier of the gateway that wants to get an assertion on behalf of another device (given in the device_id property).\nAn implementation SHOULD verify that the gateway exists, is enabled and is authorized to get an assertion for, and thus send data on behalf of, the device.   message-id no properties string MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the correlation-id property MUST be set.   reply-to yes properties string MUST contain the source address that the client wants to received response messages from. This address MUST be the same as the source address used for establishing the client\u0026rsquo;s receive link (see Preconditions).   subject yes properties string MUST be set to assert.    The body of the message SHOULD be empty and will be ignored if it is not.\nResponse Message Format\nThe following table provides an overview of the properties contained in a response message to an assert request:\n   Name Mandatory Location AMQP Type Description     correlation-id yes properties message-id Contains the message-id (or the correlation-id, if specified) of the request message that this message is the response to.   content-type no properties string MUST be set to application/json if the invocation of the operation was successful and the body of the response message contains payload as described below.   status yes application-properties int Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined below.   cache_control no application-properties string Contains an RFC 2616 compliant cache directive. The directive contained in the property MUST be obeyed by clients that are caching responses.    In case of a successful invocation of the operation, the body of the response message consists of a single Data section containing a UTF-8 encoded string representation of a single JSON object having the following properties:\n   Name Mandatory JSON Type Description     device-id yes string The ID of the device that is subject of the assertion.   via no array The IDs (JSON strings) of gateways which may act on behalf of the device. This property MUST be set if any gateways are registered for the device. If the assertion request contained a gateway_id property and the response\u0026rsquo;s status property has value 200 (indicating a successful assertion) then the array MUST at least contain the gateway ID from the request.   defaults no object Default values to be used by protocol adapters for augmenting messages from devices with missing information like a content type. It is up to the discretion of a protocol adapter if and how to use the given default values when processing messages published by the device.    Below is an example for a payload of a response to an assert request for device 4711 which also includes a default content-type:\n{ \u0026quot;device-id\u0026quot; : \u0026quot;4711\u0026quot;, \u0026quot;via\u0026quot;: [\u0026quot;4712\u0026quot;], \u0026quot;defaults\u0026quot;: { \u0026quot;content-type\u0026quot;: \u0026quot;application/vnd.acme+json\u0026quot; } }  The response message\u0026rsquo;s status property may contain the following codes:\n   Code Description     200 OK, the device is registered for the given tenant and is enabled. The response message body contains the asserted device\u0026rsquo;s registration status.   400 Bad Request, the request message did not contain all mandatory properties.   403 Forbidden, the gateway with the given gateway id either does not exist, is not enabled or is not authorized to get an assertion for the device with the given device id.   404 Not Found, there is no device registered with the given device id within the given tenant id or the device is not enabled.    For status codes indicating an error (codes in the 400 - 499 range) the message body MAY contain a detailed description of the error that occurred. In this case, the response message\u0026rsquo;s content-type property SHOULD be set accordingly.\nDelivery States The Device Registration service uses the following AMQP message delivery states when receiving request messages from clients:\n   Delivery State Description     ACCEPTED Indicates that the request message has been received and accepted for processing.   REJECTED Indicates that the request message has been received but cannot be processed. The disposition frame\u0026rsquo;s error field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/credentials-api/",
+	"title": "Credentials API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Credentials API is used by Protocol Adapters to retrieve credentials used to authenticate Devices connecting to the adapter. In particular, the API supports the look up shared secrets which are often used by IoT devices by means of username/password based authentication schemes.\nCredentials are of a certain type which indicates which authentication mechanism the credentials can be used with. Each set of credentials also contains an authentication identity which is the identity claimed by the device during authentication. This authentication identity is usually different from the device-id the device has been registered under. A device may have multiple sets of credentials, using arbitrary authentication identities.\nThe Credentials API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to Hono using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.\n\nPreconditions for invoking the Credentials API  Client has established an AMQP connection with the Credentials service. Client has established an AMQP link in role sender on the connection using target address credentials/${tenant_id}. This link is used by the client to send commands to the Credentials service. Client has established an AMQP link in role receiver on the connection using source address credentials/${tenant_id}/${reply-to} where reply-to may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Credentials service. This link\u0026rsquo;s source address is also referred to as the reply-to address for the request messages.    Client connecting to Credentials service   Get Credentials Protocol adapters use this command to look up credentials of a particular type for a device identity.\nMessage Flow\n  Client looking up credentials for a device   Request Message Format\nThe following table provides an overview of the properties a client needs to set on an get credentials message.\n   Name Mandatory Location AMQP Type Description     correlation-id no properties message-id MAY contain an ID used to correlate a response message to the original request. If set, it is used as the correlation-id property in the response, otherwise the value of the message-id property is used. Either this or the message-id property MUST be set.   message-id no properties string MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the correlation-id property MUST be set.   reply-to yes properties string MUST contain the source address that the client wants to receive response messages from. This address MUST be the same as the source address used for establishing the client\u0026rsquo;s receive link (see Preconditions).   subject yes properties string MUST contain the value get.    The body of the request MUST consist of a single Data section containing a UTF-8 encoded string representation of a single JSON object having the following members:\n   Name Mandatory JSON Type Description     type yes string The type of credentials to look up. Potential values include (but are not limited to) psk, x509-cert, hashed-password etc.   auth-id yes string The authentication identifier to look up credentials for.    Additionally, the body MAY contain arbitrary properties that service implementations can use to determine a device\u0026rsquo;s identity.\nThe following request payload may be used to look up the hashed password for a device with the authentication identifier sensor1:\n{ \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor1\u0026quot; }  Response Message Format\nA response to a get credentials request contains the following properties:\n   Name Mandatory Location AMQP Type Description     correlation-id yes properties message-id Contains the message-id (or the correlation-id, if specified) of the request message that this message is the response to.   content-type no properties string MUST be set to application/json if the invocation of the operation was successful and the body of the response message contains payload as described below.   status yes application-properties int Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined below.   cache_control no application-properties string Contains an RFC 2616 compliant cache directive. The directive contained in the property MUST be obeyed by clients that are caching responses.    The response message payload MUST contain credential information as defined in Credentials Format if the status is 200.\nThe response message\u0026rsquo;s status property may contain the following codes:\n   Code Description     200 OK, the payload contains the credentials for the authentication identifier.   400 Bad Request, the request message did not contain all mandatory properties.   404 Not Found, there are no credentials registered matching the criteria.    For status codes indicating an error (codes in the 400 - 499 range) the message body MAY contain a detailed description of the error that occurred. In this case, the response message\u0026rsquo;s content-type property SHOULD be set accordingly.\nDelivery States The Credentials service uses the following AMQP message delivery states when receiving request messages from clients:\n   Delivery State Description     ACCEPTED Indicates that the request message has been received and accepted for processing.   REJECTED Indicates that the request message has been received but cannot be processed. The disposition frame\u0026rsquo;s error field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.    Credentials Format Credential data is carried in the body of an AMQP message as part of a single Data section. The message\u0026rsquo;s content-type property must be set to application/json.\nThe credential data is contained in the Data section as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.\nThe table below provides an overview of the standard members defined for the JSON object:\n   Name Mandatory JSON Type Default Value Description     device-id yes string  The ID of the device to which the credentials belong.   type yes string  The credential type name. The value may be arbitrarily chosen by clients but SHOULD reflect the particular type of authentication mechanism the credentials are to be used with. Possible values include (but are not limited to) psk, x509-cert, hashed-password etc.   auth-id yes string  The identity that the device should be authenticated as.   enabled no boolean true If set to false the credentials are not supposed to be used to authenticate devices any longer. This may e.g. be used to disable a particular mechanism for authenticating the device. NB It is the responsibility of the protocol adapter to make use of this information.   secrets yes array  A list of secrets scoped to a particular time period. See Secrets Format for details. NB This array must contain at least one element - an empty array is considered an error.    For each set of credentials the combination of auth-id and type MUST be unique within a tenant.\nThe device registry may choose to not return information which is not suitable for authentication a device. This includes for example the enabled property. If set to false, then the device registry may choose to treat this request as if no credentials would be found. For secrets for example, this could mean that the device registry does not return secrets which are not valid at the current point in time.\nNB Care needs to be taken that the value for the authentication identifier is compliant with the authentication mechanism(s) it is supposed to be used with. For example, when using standard HTTP Basic authentication, the username part of the Basic Authorization header value (which corresponds to the auth-id) MUST not contain any colon (:) characters, because the colon character is used as the separator between username and password. Similar constraints may exist for other authentication mechanisms, so the authentication identifier needs to be chosen with the anticipated mechanism(s) being used in mind. Otherwise, devices may fail to authenticate with protocol adapters, even if the credentials provided by the device match the credentials registered for the device. In general, using only characters from the [a-zA-Z0-9_-] range for the authentication identifier should be compatible with most mechanisms.\nSecrets Format Each set of credentials may contain arbitrary secrets scoped to a particular validity period during which the secrets may be used for authenticating a device. The validity periods MAY overlap in order to support the process of changing a secret on a device that itself doesn\u0026rsquo;t support the definition of multiple secrets for gapless authentication across adjacent validity periods.\nThe table below contains the properties used to define the validity period of a single secret:\n   Name Mandatory JSON Type Default Value Description     not-before no string null The point in time from which on the secret may be used to authenticate devices. If not null, the value MUST be an ISO 8601 compliant combined date and time representation in extended format. NB It is up to the discretion of the protocol adapter to make use of this information.   not-after no string null The point in time until which the secret may be used to authenticate devices. If not null, the value MUST be an ISO 8601 compliant combined date and time representation in extended format. NB It is up to the discretion of the protocol adapter to make use of this information.    Examples Below is an example for a payload containing a hashed password for device 4711 with auth-id sensor1 using SHA512 as the hashing function with a 4 byte salt (Base64 encoding of 0x32AEF017). Note that the payload does not contain a not-before property, thus it may be used immediately up until X-mas eve 2017.\n{ \u0026quot;device-id\u0026quot;: \u0026quot;4711\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor1\u0026quot;, \u0026quot;enabled\u0026quot;: true, \u0026quot;secrets\u0026quot;: [{ \u0026quot;not-after\u0026quot;: \u0026quot;2017-12-24T19:00:00+0100\u0026quot;, \u0026quot;pwd-hash\u0026quot;: \u0026quot;AQIDBAUGBwg=\u0026quot;, \u0026quot;salt\u0026quot;: \u0026quot;Mq7wFw==\u0026quot;, \u0026quot;hash-function\u0026quot;: \u0026quot;sha-512\u0026quot; }] }  The next example contains two pre-shared keys with overlapping validity periods for device myDevice with PSK identity little-sensor2.\n{ \u0026quot;device-id\u0026quot;: \u0026quot;myDevice\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;psk\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;little-sensor2\u0026quot;, \u0026quot;enabled\u0026quot;: true, \u0026quot;secrets\u0026quot;: [{ \u0026quot;not-after\u0026quot;: \u0026quot;2017-07-01T00:00:00+0100\u0026quot;, \u0026quot;key\u0026quot;: \u0026quot;cGFzc3dvcmRfb2xk\u0026quot; },{ \u0026quot;not-before\u0026quot;: \u0026quot;2017-06-29T00:00:00+0100\u0026quot;, \u0026quot;key\u0026quot;: \u0026quot;cGFzc3dvcmRfbmV3\u0026quot; }] }  Credential Verification Protocol Adapters are responsible for authenticating devices when they connect. The Credentials API provides the Get Credentials operation to support Protocol Adapters in doing so as illustrated below:\nThe following sequence diagram illustrates the flow of messages involved in a Protocol Adapter authenticating a device. This is shown for the MQTT Protocol Adapter as example how a device authenticates with a username and a hashed-password. The mechanism can be transferred to other protocols in a similar manner.\n  MQTT Adapter authenticates device using the Credentials service   Protocol adapters MUST comply with the following rules when verifying credentials presented by a device:\n Credentials that have their enabled property set to false MUST NOT be used for authentication. Adapters MUST only consider secrets for authentication which\n have their not-before property set to either null or the current or a past point in time and have their not-after property set to either null or the current or a future point in time.   Standard Credential Types The following sections define some standard credential types and their properties. Applications are encouraged to make use of these types. However, the types are not enforced anywhere in Hono and clients may of course add application specific properties to the credential types.\nCommon Properties All credential types used with Hono MUST contain device-id, type, auth-id, enabled and secrets properties as defined in Credentials Format.\nHashed Password A credential type for storing a (hashed) password for a device.\nExample:\n{ \u0026quot;device-id\u0026quot;: \u0026quot;4711\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;hashed-password\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;sensor1\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;pwd-hash\u0026quot;: \u0026quot;AQIDBAUGBwg=\u0026quot;, \u0026quot;salt\u0026quot;: \u0026quot;Mq7wFw==\u0026quot;, \u0026quot;hash-function\u0026quot;: \u0026quot;sha-512\u0026quot; }] }     Name Mandatory JSON Type Default Description     type yes string  The credential type name, always hashed-password.   auth-id yes string  The identity that the device should be authenticated as.   pwd-hash yes string  The password hash (see table below for details).   salt no string  The Base64 encoding of the salt used in the password hash (see table below for details).   hash-function no string sha-256 The name of the hash function used to create the password hash. The hash functions supported by Hono are described in the table below.    NB It is strongly recommended to use salted password hashes only. Furthermore, the salt should be unique per user and password, so no lookup table or rainbow table attacks can be used to crack the salt-hashed password. Whenever a password is updated for a user, the salt should change as well.\nNB The example above does not contain any of the not-before, not-after and enabled properties, thus the credentials can be used at any time according to the rules defined in Credential Verification.\nThe table below describes the hash functions supported by Hono and how they map to the secret structure.\n   Name Salt Usage Salt Location Password Hash Format     sha-256 optional salt field The Base64 encoding of the bytes resulting from applying the sha-256 hash function to the byte array consisting of the salt bytes (if a salt is used) and the UTF-8 encoding of the clear text password.   sha-512 optional salt field The Base64 encoding of the bytes resulting from applying the sha-512 hash function to the byte array consisting of the salt bytes (if a salt is used) and the UTF-8 encoding of the clear text password.   bcrypt mandatory pwd-hash value The output of applying the Bcrypt hash function to the clear text password. The salt is contained in the password hash.\nNB Hono (currently) uses Spring Security for matching clear text passwords against Bcrypt hashes. However, this library only supports hashes containing the $2a$ prefix (see https://github.com/fpirsch/twin-bcrypt#about-prefixes) so Hono will fail to verify any passwords for which the corresponding Bcrypt hashes returned by the Credentials service contain e.g. the $2y$ prefix.    Pre-Shared Key A credential type for storing a Pre-shared Key as used in TLS handshakes.\nExample:\n{ \u0026quot;device-id\u0026quot;: \u0026quot;4711\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;psk\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;little-sensor2\u0026quot;, \u0026quot;secrets\u0026quot;: [{ \u0026quot;key\u0026quot;: \u0026quot;AQIDBAUGBwg=\u0026quot; }] }     Name Mandatory JSON Type Description     type yes string The credential type name, always psk.   auth-id yes string The PSK identity.   key yes string The Base64 encoded bytes representing the shared (secret) key.    NB The example above does not contain any of the not-before, not-after and enabled properties, thus the credentials can be used at any time according to the rules defined in Credential Verification.\nX.509 Certificate A credential type for storing the RFC 2253 formatted subject DN of a client certificate that is used to authenticate the device as part of a TLS handshake.\nExample:\n{ \u0026quot;device-id\u0026quot;: \u0026quot;4711\u0026quot;, \u0026quot;type\u0026quot;: \u0026quot;x509-cert\u0026quot;, \u0026quot;auth-id\u0026quot;: \u0026quot;CN=device-1,O=ACME Corporation\u0026quot;, \u0026quot;secrets\u0026quot;: [{}] }     Name Mandatory JSON Type Description     type yes string The credential type name, always x509-cert.   auth-id yes string The subject DN of the client certificate in the format defined by RFC 2253.    NB The example above does not contain any of the not-before, not-after and enabled properties. The not-before and not-after properties should be omitted if the validity period is the same as the period indicated by the client certificate\u0026rsquo;s corresponding properties. It is still necessary to provide a (empty) JSON object in the secrets array, though.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/authentication-api/",
+	"title": "Authentication API Specification",
+	"tags": [],
+	"description": "",
+	"content": "The Authentication API is used to retrieve a token asserting a subject\u0026rsquo;s identity and granted authorities. Other service implementations use such a token to make authorization decisions on a client\u0026rsquo;s request to read or write from/to a resource or to invoke a certain operation.\nThe Authentication API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to an Authentication service using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.\nNote that a component implementing this API will most likely need to also provide means to add, alter or remove identities and authorities as well. However, Hono itself does not require this kind of functionality, thus this kind of functionality is considered out of scope of this API.\nIn a real world environment there will often already be an identity management system in place. In such cases it can make sense to just implement a facade exposing the Authentication API operations and mapping them to the underlying existing system\u0026rsquo;s functionality.\nGet Token Clients use this operation to\n verify a set of credentials and retrieve a token asserting the authenticated subject\u0026rsquo;s identity and granted authorities.  Message Flow\nThe following sequence diagram illustrates the flow of messages involved in a Client retrieving a token.\n  Get Token message flow    The Client and Authentication service have agreed to use the SASL PLAIN mechanism for authenticating the client. The Client therefore sends the credentials of the identity it wants to retrieve a token for. The Authentication service successfully verifies the credentials and establishes the authorization ID.  The Authentication service completes the SASL exchange with a successful outcome (SASL OK).  The Client continues by opening an AMQP connection with the Authentication service. The Authentication service creates a token asserting the authorization ID and authorities established during the SASL exchange and associates it with the connection. The Client opens a receiving link using source address cbs.  The Authentication service opens the link and sends the token associated with the connection to the Client.  The Client closes the connection.  Token Message Format\nOn successful establishment of the receiving link with the client as described above, the server sends a message to the client containing a token asserting the identity and authorities of the client that has been authenticated as part of establishing the underlying AMQP connection.\nThe following table provides an overview of the properties of the message sent to the client.\n   Name Location Type Value     type application-properties string amqp:jwt    The message\u0026rsquo;s body consists of a single AMQP 1.0 AmqpValue section which contains the UTF-8 representation of a JSON Web Token as defined in Token Format.\nToken Format The token returned by the get Token operation is a cryptographically signed JSON Web Token as defined by RFC 7519.\nThe token contains the following mandatory claims:\n   Name Type Value     sub RFC 7519, Section 4.1.2 The authorization ID of the authenticated client. This represents the asserted identity.   exp RFC 7519, Section 4.1.4 The point in time after which the claims contained in this token must be considered no longer valid. Clients MUST NOT use any information from a token that has expired.    The subject\u0026rsquo;s authorities on resources and operations are represented by additional JWT claims with a name identifying the resource or operation and a value containing the activities the subject is allowed to perform. The following activities are supported:\n READ - The client is allowed to establish a receiving link using the resource\u0026rsquo;s node address as the link\u0026rsquo;s source address. WRITE - The client is allowed to establish a sending link using the resource\u0026rsquo;s node address as the link\u0026rsquo;s target address. EXECUTE - The client is allowed to invoke an operation on an endpoint, i.e. send a message over a link with a subject representing the operation name and the link\u0026rsquo;s target address representing the API endpoint\u0026rsquo;s node address.  The allowed activities are encoded in a claim\u0026rsquo;s value by means of simply concatenating the activities\u0026rsquo; initial characters (R, W, E).\nThe token may contain any number of additional claims which may be ignored by clients that do not understand their meaning.\nResource Authorities A client\u0026rsquo;s authority on a resource is represented by a JWT claim with a name containing the resource node address prefixed with r: and a value containing the activities the client is allowed to perform on the resource. The node address MAY contain one or more wildcard (*) characters to represent any string.\nExample:\nAssuming a client which is allowed to\n send and consume events for tenant my-tenant and consume telemetry data for all tenants  the corresponding claims (in the token\u0026rsquo;s JSON representation) would look like this:\n{ ... \u0026quot;r:event/my-tenant\u0026quot;: \u0026quot;RW\u0026quot;, \u0026quot;r:telemetry/*\u0026quot;: \u0026quot;R\u0026quot;, ... }  Operation Authorities A client\u0026rsquo;s authority to invoke an endpoint\u0026rsquo;s operation(s) is represented by a JWT claim with a name containing the endpoint\u0026rsquo;s node address and operation identifier prefixed with o: and a value of E (for EXECUTE). The endpoint node address MAY contain one or more wildcard (*) characters to represent any string. The operation identifier is the subject value defined by the corresponding API for the operation. The operation identifier MAY be set to * to represent any operation of the endpoint.\nExample:\nAssuming a client which is allowed to\n invoke the Device Registration API\u0026rsquo;s assert Registration operation for any tenant and invoke all methods of the Credentials API for tenant my-tenant  the corresponding claims (in the token\u0026rsquo;s JSON representation) would look like this:\n{ ... \u0026quot;o:registration/*:assert\u0026quot;: \u0026quot;E\u0026quot;, \u0026quot;o:credentials/my-tenant:*\u0026quot;: \u0026quot;E\u0026quot;, ... } "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/api/metrics/",
+	"title": "Metrics",
+	"tags": [],
+	"description": "",
+	"content": "Eclipse Hono\u0026trade;\u0026rsquo;s components report several metrics which may be used to gain some insight into the running system. For instance, the HTTP adapter reports the number of successfully processed telemetry messages. Some of these metrics are considered part of Hono\u0026rsquo;s external interface. This section describes the semantics and format of the metrics, how they can be retrieved and how to interpret actual values.\nReported Metrics Hono uses Micrometer in combination with Spring Boot to internally collect metrics. Those metrics can be exported to different back ends. Please refer to Configuring Metrics for details.\nThe example deployment by default uses Prometheus as the metrics back end.\nWhen deploying to Kubernetes/OpenShift, the metrics reported by Hono may contain environment specific tags (like the pod name) which are added by the Prometheus scraper. However, those tags are not part of the Hono metrics definition.\nHono applications may report other metrics in addition to the ones defined here. In particular, all components report metrics regarding the JVM\u0026rsquo;s internal state, e.g. memory consumption and garbage collection status. Those metrics are not considered part of Hono\u0026rsquo;s official metrics definition. However, all those metrics will still contain tags as described below.\nCommon Metrics Tags for common metrics are:\n   Tag Value Description     host string The name of the host that the component reporting the metric is running on   component-type adapter, service The type of component reporting the metric   component-name string The name of the component reporting the metric.    The names of Hono\u0026rsquo;s standard components are as follows:\n   Component component-name     Auth Server hono-auth   Device Registry hono-registry   AMQP adapter hono-amqp   CoAP adapter hono-coap   HTTP adapter hono-http   Kura adapter hono-kura-mqtt   MQTT adapter hono-mqtt    Protocol Adapter Metrics Additional tags for protocol adapters are:\n   Name Value Description     direction one-way, request, response The direction in which a Command \u0026amp; Control message is being sent:\none-way indicates a command sent to a device for which the sending application doesn\u0026rsquo;t expect to receive a response.\nrequest indicates a command request message sent to a device.\nresponse indicates a command response received from a device.   qos 0, 1, unknown The quality of service used for a telemetry or event message.\n0 indicates at most once,\n1 indicates at least once and\nnone indicates unknown delivery semantics.   status forwarded, unprocessable, undeliverable The processing status of a message.\nforwarded indicates that the message has been forwarded to a downstream consumer\nunprocessable indicates that the message has not been processed not forwarded, e.g. because the message was malformed\nundeliverable indicates that the message could not be forwarded, e.g. because there is no downstream consumer or due to an infrastructure problem   tenant string The identifier of the tenant that the metric is being reported for   ttd command, expired, none A status indicating the outcome of processing a TTD value contained in a message received from a device.\ncommand indicates that a command for the device has been included in the response to the device\u0026rsquo;s request for uploading the message.\nexpired indicates that a response without a command has been sent to the device.\nnone indicates that either no TTD value has been specified by the device or that the protocol adapter does not support it.   type telemetry, event The type of (downstream) message that the metric is being reported for.    Metrics provided by the protocol adapters are:\n   Metric Type Tags Description     hono.commands.received Timer host, component-type, component-name, tenant, type, status, direction The time it took to process a message conveying a command or a response to a command.   hono.commands.payload DistributionSummary host, component-type, component-name, tenant, type, status, direction The number of bytes conveyed in the payload of a command message.   hono.connections.authenticated Gauge host, component-type, component-name, tenant Current number of connected, authenticated devices.  NB This metric is only supported by protocol adapters that maintain connection state with authenticated devices. In particular, the HTTP adapter does not support this metric.   hono.connections.unauthenticated Gauge host, component-type, component-name Current number of connected, unauthenticated devices.  NB This metric is only supported by protocol adapters that maintain connection state with authenticated devices. In particular, the HTTP adapter does not support this metric.   hono.messages.received Timer host, component-type, component-name, tenant, type, status, qos, ttd The time it took to process a message conveying telemetry data or an event.   hono.messages.payload DistributionSummary host, component-type, component-name, tenant, type, status The number of bytes conveyed in the payload of a telemetry or event message.    Minimum Message Size If a minimum message size is configured for a tenant, then the payload size of the telemetry, event and command messages are calculated in accordance with the configured value and then reported to the metrics by the AMQP, HTTP and MQTT protocol adapters. If minimum message size is not configured for a tenant then the actual message payload size is reported.\nAssume that the minimum message size for a tenant is configured as 4096 bytes (4KB). The payload size of an incoming message with size 1KB is calculated as 4KB by the protocol adapters and reported to the metrics system. For an incoming message of size 10KB, it is reported as 12KB.\nService Metrics Hono\u0026rsquo;s service components do not report any metrics at the moment.\nLegacy Metrics  Deprecated This metrics configuration is still supported in Hono, but is considered deprecated and will be removed in a future version of Hono.\nThe legacy metrics support needs to be enabled explicitly. See Legacy support for more information.\n  Enabling the legacy support sets up internal support for exporting the metrics in the pre-0.8 format, using the Graphite Micrometer backend, but with a custom (legacy) naming scheme. It still is possible to use the InfluxDB Micrometer backend as well, however this will export metrics in the new format, and not on the legacy format.\nSome users have started to build custom dash boards on top of the names of the metrics and associated tags that end up in the example InfluxDB. Hono will try to support such users by allowing future versions of Hono to be configured to report metrics to InfluxDB resulting in the same database structure as created by InfluxDB\u0026rsquo;s Graphite Input.\nNB This does not necessarily mean that future versions of Hono will always support metrics being reported using the Graphite wire format. It only means that there will be a way to transmit metrics to InfluxDB resulting in the same database structure.\nTags The InfluxDB configuration file used for the example deployment contains templates for extracting the following tags from metric names transmitted via the Graphite reporter.\n   Tag Description     host The name of the host that the component reporting the metric is running on.   type The type of message that the metric is being reported for (either telemetry or event)   tenant The name of the tenant that the metric is being reported for.   protocol The transport protocol that has been used to send the message for which the metric is being reported (http or mqtt).    The following sections describe which of these tags are extracted for which metrics specifically.\nCommon Metrics The following table contains metrics that are collected for all protocol adapters (if applicable to the underlying transport protocol).\n   Metric Tags Description     counter.hono.connections.authenticated.count host, tenant, protocol Current number of connections with authenticated devices. NB This metric is only supported by protocol adapters that maintain connection state with authenticated devices. In particular, the HTTP adapter does not support this metric.   counter.hono.connections.unauthenticated.count host, protocol Current number of connections with unauthenticated devices. NB This metric is only supported by protocol adapters that maintain connection state with unauthenticated devices. In particular, the HTTP adapter does not support this metric.   meter.hono.commands.device.delivered.count host, tenant, protocol Commands delivered to devices. Total count since application start.   meter.hono.commands.device.delivered.m1_rate host, tenant, protocol Commands delivered to devices. One minute, exponentially weighted, moving average.   meter.hono.commands.device.delivered.m5_rate host, tenant, protocol Commands delivered to devices. Five minute, exponentially weighted, moving average.   meter.hono.commands.device.delivered.m15_rate host, tenant, protocol Commands delivered to devices. Fifteen minute, exponentially weighted, moving average.   meter.hono.commands.device.delivered.mean_rate host, tenant, protocol Commands delivered to devices. Mean rate of messages since application start.   meter.hono.commands.response.delivered.count host, tenant, protocol Command responses delivered to applications. Total count since application startup.   meter.hono.commands.response.delivered.m1_rate host, tenant, protocol Command responses delivered to applications. One minute, exponentially weighted, moving average.   meter.hono.commands.response.delivered.m5_rate host, tenant, protocol Command responses delivered to applications. Five minute, exponentially weighted, moving average.   meter.hono.commands.response.delivered.m15_rate host, tenant, protocol Command responses delivered to applications. Fifteen minute, exponentially weighted, moving average.   meter.hono.commands.response.delivered.mean_rate host, tenant, protocol Command responses delivered to applications. Mean rate of messages since the application start.   meter.hono.commands.ttd.expired.count host, tenant, protocol Messages containing a TTD that expired with no pending command(s). Total count since application startup.   meter.hono.commands.ttd.expired.m1_rate host, tenant, protocol Messages containing a TTD that expired with no pending command(s). One minute, exponentially weighted, moving average.   meter.hono.commands.ttd.expired.m5_rate host, tenant, protocol Messages containing a TTD that expired with no pending command(s). Five minute, exponentially weighted, moving average.   meter.hono.commands.ttd.expired.m15_rate host, tenant, protocol Messages containing a TTD that expired with no pending command(s). Fifteen minute, exponentially weighted, moving average.   meter.hono.commands.ttd.expired.mean_rate host, tenant, protocol Messages containing a TTD that expired with no pending command(s). Mean rate of messages since the application start.    HTTP Metrics The following table contains metrics that are collected specifically for the HTTP protocol adapter.\n   Metric Tags Description     counter.hono.http.messages.undeliverable.count host, tenant, type Messages which could not be processed by the HTTP protocol adapter. Total count since application startup.   meter.hono.http.messages.processed.count host, tenant, type Messages processed by the HTTP protocol adapter. Total count since application startup.   meter.hono.http.messages.processed.m1_rate host, tenant, type Messages processed by the HTTP protocol adapter. One minute, exponentially weighted, moving average.   meter.hono.http.messages.processed.m5_rate host, tenant, type Messages processed by the HTTP protocol adapter. Five minute, exponentially weighted, moving average.   meter.hono.http.messages.processed.m15_rate host, tenant, type Messages processed by the HTTP protocol adapter. Fifteen minute, exponentially weighted, moving average.   meter.hono.http.messages.processed.mean_rate host, tenant, type Messages processed by the HTTP protocol adapter. Mean rate of messages since the application start.    MQTT Metrics The following table contains metrics that are collected specifically for the MQTT protocol adapter.\n   Metric Tags Description     counter.hono.mqtt.messages.undeliverable.count host, tenant, type Messages which could not be processed by the MQTT protocol adapter- Total count since application startup.   meter.hono.mqtt.messages.processed.count host, tenant, type Messages processed by the MQTT protocol adapter. Total count since application startup.   meter.hono.mqtt.messages.processed.m1_rate host, tenant, type Messages processed by the MQTT protocol adapter. One minute, exponentially weighted, moving average.   meter.hono.mqtt.messages.processed.m5_rate host, tenant, type Messages processed by the MQTT protocol adapter. Five minute, exponentially weighted, moving average.   meter.hono.mqtt.messages.processed.m15_rate host, tenant, type Messages processed by the MQTT protocol adapter. Fifteen minute, exponentially weighted, moving average.   meter.hono.mqtt.messages.processed.mean_rate host, tenant, type Messages processed by the MQTT protocol adapter. Mean rate of messages since the application start.   "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/deployment/",
+	"title": "Deployment",
+	"tags": [],
+	"description": "",
+	"content": " Deployment Learn how to deploy Hono\u0026trade; to different container orchestration platforms.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/",
+	"title": "Helm based Deployment",
+	"tags": [],
+	"description": "",
+	"content": "Eclipse Hono\u0026trade;\u0026rsquo;s components are provided as container images which can be run on arbitrary container orchestration platforms. This page describes the steps necessary to deploy Hono to a Kubernetes cluster using the Helm package manager.\n Note The example configuration that comes with Hono and which is used in this guide is supposed to be used for evaluation and development purposes only.  Prerequisites Kubernetes Cluster The most basic requirement is, of course, a Kubernetes cluster to deploy to. The Kubernetes setup guide describes options available for setting up a cluster.\nHelm Helm is a tool for managing (complex) Kubernetes applications. In this guide it is used to deploy Hono to the cluster. Helm\u0026rsquo;s installation instructions provide more details.\nKubectl The kubectl tool is used to manage a Kubernetes cluster from the command line. In this guide it is used to retrieve information about Hono\u0026rsquo;s service endpoints from the cluster. The installation guide provides instructions for setting up kubectl locally.\nHono Helm Chart The Helm chart is contained in the Hono archive that is available from Hono\u0026rsquo;s download page. After the archive has been extracted, the chart can be found in the eclipse-hono-$VERSION/deploy/helm folder.\nHono Command Line Client The Hono command line client is available from the download page. The command line client requires a Java 11 runtime environment to run.\nDeploying Hono The recommended way of deploying Hono is by means of using Helm\u0026rsquo;s Tiller service running on the Kubernetes cluster:\n# in directory: eclipse-hono-$VERSION/deploy/ helm install --dep-up --name eclipse-hono --namespace hono helm/  This will create namespace hono in the cluster and install all the components to that namespace. The name of the Helm release will be eclipse-hono.\nThe status of the deployment can be checked using any of the following commands:\nhelm list helm status eclipse-hono helm get eclipse-hono  Deploying Hono using kubectl In cases where installation of Helm\u0026rsquo;s Tiller service into the cluster is not an option, the Kubernetes resource descriptors created by Helm can be deployed manually using the kubectl command line tool.\nThe following commands generate the resource descriptors:\n# in directory: eclipse-hono-$VERSION/deploy/ helm dep update helm/ helm template --name eclipse-hono --namespace hono --output-dir . helm/  This will create an eclipse-hono folder containing all the resource descriptors which can then be deployed to the cluster using kubectl:\n# in directory: eclipse-hono-$VERSION/deploy/ kubectl create namespace hono kubectl config set-context $(kubectl config current-context) --namespace=hono find . -path \u0026quot;./eclipse-hono/*\u0026quot; -name crd*.yaml -exec kubectl apply -f {} \\; kubectl apply -f ./eclipse-hono -R  Verifying the Installation Once deployment has completed, Hono\u0026rsquo;s external API endpoints are exposed via corresponding Kubernetes Services. The following command lists all services and their endpoints (replace hono with the namespace that you have deployed to):\nkubectl get service -n hono NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) eclipse-hono-grafana ClusterIP 10.98.116.21 \u0026lt;none\u0026gt; 3000/TCP eclipse-hono-kube-state-metrics ClusterIP 10.111.143.45 \u0026lt;none\u0026gt; 8080/TCP eclipse-hono-prometheus-node-exporter ClusterIP 10.99.123.105 \u0026lt;none\u0026gt; 9100/TCP eclipse-hono-prometheus-op-operator ClusterIP 10.107.136.47 \u0026lt;none\u0026gt; 8080/TCP hono-adapter-amqp-vertx LoadBalancer 10.97.243.98 10.97.243.98 5672:32672/TCP,5671:32671/TCP hono-adapter-http-vertx LoadBalancer 10.104.162.33 10.104.162.33 8080:30080/TCP,8443:30443/TCP hono-adapter-kura LoadBalancer 10.110.31.68 10.110.31.68 1883:31884/TCP,8883:30884/TCP hono-adapter-mqtt-vertx LoadBalancer 10.103.97.233 10.103.97.233 1883:31883/TCP,8883:30883/TCP hono-artemis ClusterIP 10.105.129.3 \u0026lt;none\u0026gt; 5671/TCP hono-dispatch-router ClusterIP 10.107.34.77 \u0026lt;none\u0026gt; 5673/TCP hono-dispatch-router-ext LoadBalancer 10.109.64.70 10.109.64.70 15671:30671/TCP,15672:30672/TCP hono-service-auth ClusterIP 10.103.101.106 \u0026lt;none\u0026gt; 5671/TCP hono-service-device-registry ClusterIP 10.107.138.95 \u0026lt;none\u0026gt; 5671/TCP hono-service-device-registry-ext LoadBalancer 10.107.214.87 10.107.214.87 28080:31080/TCP,28443:31443/TCP prometheus-operated ClusterIP None \u0026lt;none\u0026gt; 9090/TCP  The listing above has been retrieved from a Minikube cluster that emulates a load balancer via the minikube tunnel command (refer to the Minikube Networking docs for details). The service endpoints can be accessed at the EXTERNAL-IP addresses and corresponding PORT(S), e.g. 8080 for the HTTP adapter (hono-adapter-http-vertx) and 28080 for the device registry (hono-service-device-registry).\nThe following command assigns the IP address of the device registry service to the REGISTRY_IP environment variable so that they can easily be used from the command line:\nexport REGISTRY_IP=$(kubectl get service hono-service-device-registry-ext --output='jsonpath={.status.loadBalancer.ingress[0].ip}' -n hono)  The following command can then be used to check for the existence of the DEFAULT_TENANT which is created as part of the installation:\ncurl -sIX GET http://$REGISTRY_IP:28080/v1/tenants/DEFAULT_TENANT HTTP/1.1 200 OK etag: 89d40d26-5956-4cc6-b978-b15fda5d1823 content-type: application/json; charset=utf-8 content-length: 260  \nAccessing the Grafana Dashboard Hono comes with an example Grafana dashboard which provides some insight into the messages flowing through the protocol adapters. The following command needs to be run first in order to forward the Grafana service\u0026rsquo;s endpoint to the local host:\nkubectl port-forward service/eclipse-hono-grafana 3000 -n hono  Then the dashboard can be opened by pointing a browser to http://localhost:3000 using credentials admin:admin.\nUndeploying Hono A Hono instance that has been deployed using Helm\u0026rsquo;s Tiller service can be undeployed by running\nhelm delete --purge eclipse-hono kubectl delete crd prometheuses.monitoring.coreos.com prometheusrules.monitoring.coreos.com servicemonitors.monitoring.coreos.com alertmanagers.monitoring.coreos.com  The additional kubectl delete command is necessary to remove Prometheus operator CRDs.\nIf the Jaeger tracing component has been deployed, additional resources have to be deleted manually:\nkubectl delete crd jaegers.jaegertracing.io kubectl delete svc -n hono eclipse-hono-jaeger-operator  A Hono instance that has been deployed manually using the resource files can be undeployed by running\n# in directory: eclipse-hono-$VERSION/deploy/ kubectl delete -f ./eclipse-hono -R  Deploying custom Container Images The sections above describe how Hono\u0026rsquo;s pre-built container images can be deployed using Helm. In some cases it might be desirable to build Hono from source, e.g. in order to use a different metrics back end or to enable Jaeger tracing. In these cases, the Helm templates contained in the source tree can be used instead of the Helm chart from the download page.\nThe container images created as part of the build process need to be made available to the Kubernetes cluster that Hono should be deployed to. This usually requires the images to be pushed to a (private) container registry that the cluster has pull access to. Please refer to the documentation of the employed Kubernetes service provider for details regarding the setup and configuration of a private container registry.\nDeploying via a private Registry The first step is getting the source code of Hono. Please refer to Building from Source for details. Once the source code has been retrieved, the build process can be started using the following command:\n# in base directory of Hono working tree: mvn clean install -Pbuild-docker-image,metrics-prometheus  After the build process has finished, the custom container images need to be pushed to the registry so that the Kubernetes cluster can pull them from there during deployment. Assuming that the images should be tagged with 1.0-CUSTOM and the container registry name is my.registry.io, the following command can be used to tag the locally built images and push them to the registry:\n# in base directory of Hono working tree: ./push_hono_images.sh 1.0-CUSTOM my.registry.io   Note You may need to log in to the (private) container registry before pushing the images.  Once the images have been pushed, the deployment can be done using Helm:\n# in Hono working tree directory: hono/deploy helm install --dep-up --name eclipse-hono --namespace hono --set honoContainerRegistry=my.registry.io target/deploy/helm/  Deploying to Minikube When using Minikube as the deployment target, things are a little easier. Minikube comes with an embedded Docker daemon which can be used to build the container images instead of using a local Docker daemon, thus eliminating the need to push the images to a registry altogether. In order to use Minikube\u0026rsquo;s Docker daemon, the following command needs to be run:\neval $(minikube docker-env)  This will set the Docker environment variables to point to Minikube\u0026rsquo;s Docker daemon which can then be used for building the container images and storing them locally in the Minikube VM.\nIn any case the build process can be started using the following command:\n# in base directory of Hono working tree: mvn clean install -Pbuild-docker-image,metrics-prometheus  The newly built images can then be deployed using Helm:\n# in Hono working tree directory: hono/deploy helm install --dep-up --name eclipse-hono --namespace hono target/deploy/helm/  Deploying Jaeger In order to deploy the Jaeger tracing component along with Hono, first make sure that the Hono container images have been built with the Jaeger client included. This is done by activating the jaeger Maven profile, see Monitoring \u0026amp; Tracing. The deployment can then be done using the jaeger.enabled=true option when running Helm:\n# in Hono working tree directory: hono/deploy helm install --dep-up --name eclipse-hono --set jaeger.enabled=true --namespace hono target/deploy/helm/  For more information on how to access the Jaeger UI, see the Jaeger Operator documentation.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/deployment/openshift/",
+	"title": "OpenShift / OKD",
+	"tags": [],
+	"description": "",
+	"content": "This guide describes how Eclipse Hono™ can be deployed on OpenShift with EnMasse, using the source-to-image (S2I) way. Using this approach, it is possible to customize and refresh the base images where Hono runs in. It also uses a more complex, multi-project setup and separates EnMasse and Grafana from the core Hono project.\n Use for demos only While this deployment model is closer to a production-ready deployment it still is missing some important aspects, so please do use this only as a base for your setup or as a demo setup. The following topics are currently not covered by this example deployment:\n Integration between EnMasse and Hono authentication Use your own versions of the device registry and authorization service  These are all subjects to current and future developments in this area. This document will be updated accordingly with the progress.\n  Prerequisites In order to work through this example deployment you will need the OpenShift client tools installed. Please align the version of the client tools with the version of your OpenShift cluster. This guide was tested with OpenShift 3.11.0. It might work with older or newer versions as well, but that is untested.\nAssumptions This tutorial makes the following assumptions about your environment, if those assumptions are not true in your specific environment you will need to adapt the following instructions:\n The admin URL of your OpenShift cluster is: https://my-cluster:8443 The name of your OpenShift user is developer All scripts and paths are relative to the folder deploy/src/main/deploy/openshift Some parts of this tutorial may need cluster admin privileges. When cluster admin privileges are required, the tutorial will indicate this by the command oc login -u admin. It will indicate the end of a section requiring cluster admin privileges by the command oc login -u developer.   Note: Those command may be different on your installation. They only act as an example.\nLinux like environment The deployment guide assumes that you have a Linux like environment with things like bash, curl, git, … Mac OS X 10.13+ works as well, Windows with some kind of Unix tooling should also be possible.\nOpenShift Origin client tools The client tools can be downloaded from the OpenShift Origin project repository. Simply download the archive, unpack it and drop it into a directory where it can be found by the local PATH lookup.\nMinishift This tutorial is targeted towards running Hono on a production-ready OpenShift cluster. However it still is possible and useful to run the same setup on a local test cluster with \u0026ldquo;minishift\u0026rdquo;.\nMinishift is a tool that helps you run OpenShift locally by running a single-node OpenShift cluster inside a VM. Follow this guide for installing and having Minishift up and running.\nThe default resource limits for Minishift however are to small, so please ensure that you are running Minishift with the following settings:\nminishift start --cpus 4 --memory 16GB --disk-size 40GB   Resource limits Once you created your Minishift cluster instance with minishift start the resource arguments (like --cpus) are ignored in future calls to minishift start as the virtual machine has already been created. You will need to destroy the instance using minishift delete before it will accept the new resource limits.  When using minishift you can find your cluster URL by executing the following command:\nminishift console --url  Some of the operations may require cluster admin privileges. For minishift an admin user can be created by executing the following commands, having a running minishift instance:\nminishift addons apply admin-user  This will create a user named admin, with a password of admin, that has cluster admin privileges.\nOperator Lifecycle Manager A simple way to install additional operators in your cluster is via the Operator Lifecycle Manager (aka OLM). It can be enabled in OpenShift 3.11+ by setting openshift_enable_olm=true in the Ansible inventory file.\nFor Minishift, it can be enabled by execute the following commands as cluster admin:\ngit clone https://github.com/operator-framework/operator-lifecycle-manager cd operator-lifecycle-manager oc login -u admin oc new-project operator-lifecycle-manager oc create -f deploy/okd/manifests/latest/ oc login -u developer  See also: https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/install/install.md\nThis guide will use OLM in order to install the optional Prometheus Operator, which enables the aggregation of metrics from different Hono components.\nPersistent volumes You will need two persistent volumes for this deployment. The default required volumes are:\n   Name Size Purpose     hono-pv 128 Mi Storing device registry information   grafana-pv 1 Gi Grafana configuration database    In the folder admin/storage you will find a set of sub folders containing YAML files for setting up the persistent volumes (PVs). As there are multiple storage providers available you need to choose only one and must modify it to match your OpenShift setup (see the following subsections).\nIt may also be possible that your cluster supports automatic provisioning of storage, in this case you don\u0026rsquo;t need to create PVs explicitly.\nThe PVs can be created by executing the following command with a user that has cluster wide privileges:\noc create -f admin/storage/\u0026lt;type\u0026gt;/grafana-pv.yml oc create -f admin/storage/\u0026lt;type\u0026gt;/hono-pv.yml  Minishift When you are running minishift, then you have automatic provisioning for PVs available. There is no need to create any PVs manually.\nLocal In the admin/storage/local folder you will find YAML files for setting up local storage volumes. Those volumes will be kept available when pods are restarted, but are only available on he local disk of a node. So pods can only run on this single node and not be migrated throughout a cluster.\nIf you have a single node cluster anyway, it might still be an easy option.\nYou will need to change the field .spec.hostPath.path to point to an existing directory which grants all access to \u0026ldquo;other\u0026rdquo; (chmod a+rwx .).\nThe storage capacity will only be used for matching PVs with PVCs and is not being enforced with this storage type.\nNFS The folder admin/storage/nfs contains a set of YAML files for setting up NFS based PVs. For this to work you will need a running NFS server and set up proper exports. It is possible to re-use the NFS server of your OpenShift installation if you already have one.\nYou will need to change the following fields:\n .spec.nfs.server – Hostname of the NFS server .spec.nfs.path – The name of the exported path   Don\u0026#39;t use in production Applications running of top of NFS may have issues with things like file locking behavior, …. So it isn\u0026rsquo;t recommended to use NFS without proper testing and ensuring that it works the way you expect it. If you accept the risk of corrupted data, it might still be a simple setup for testing a multi-node setup.  Also see: https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_nfs.html\nAbility to create new projects The following guide requires three projects in the OpenShift cluster. It still is possible to modify the deployment to deploy to a single project, however this guide focuses on a setup having multiple projects.\nIf you don\u0026rsquo;t have permissions to create new projects yourself, then you will need to request three projects. The guide expects the projects names to be:\n enmasse – Hosting the EnMasse components. hono – For running Eclipse Hono. grafana – For running an instance of Grafana. Primarily for showing Hono dashboards.  Those projects must be allowed to perform internal communication.\nIf projects will be created for you, then you can ignore the calls to oc new-project in the following sections.\nCertificates Certificates are a difficult topic, as every components brings in its own concept about how certificates are handled. This deployment guide tries to align everything with OpenShifts capabilities of managing certificates. That means that internal communication tries to use cluster generated certificates, signed by the cluster CA. And externally it tries to re-use the OpenShift router certificates, which are provided during the installation of OpenShift. One exception to that are the AMQP and MQTT protocols. As those currently cannot be re-encrypted.\nIf you deploy OpenShift without proper certificates, then you will automatically have self-signed certificates. In this case it is required to disable e.g. hostname validation later on. This deployment guide assumes that you have proper certificates set up, and will try to assist if that is not the case.\n Let\u0026#39;s encrypt As Let\u0026rsquo;s encrypt now supports wildcard certificates, having proper certificates may only be a few commands away for you.  In general, curl commands require the parameter --insecure in order to work with self-signed certificates.\n Mac OS X 10.13\u0026#43; The curl binary on Mac OS X before 10.13 suffers from an issue with TLS SNI. Also see: https://github.com/curl/curl/issues/1533\nAs the use of SNI is required for Kubernetes/OpenShift, when it comes to routing requests to services, it is not possible to use the provided version of curl on Mac OS X before 10.13.\nYou can install a working curl version using in those Mac OS X released with the following commands:\nbrew install curl --with-openssl  Or upgrade your existing installation using:\nbrew reinstall curl --with-openssl  Or use proper certificates.\n  Clone the Hono repository In order to have access to some of the requires scripts and resource of this deployment guide, you will need to clone the Hono repository to your local machine. You can do this with the following command:\ngit clone https://github.com/eclipse/hono.git  Or if you want to check out a specific branch (e.g. 0.9.x):\ngit clone -b 0.9.x https://github.com/eclipse/hono.git   Different branches This deployment description is based on the master branch of Hono. However this branch is also the current development and may be unstable at times.\nIf you experience any problems, it is recommended to switch to a release branch (e.g. 0.9.x) instead of using the default master branch. However this documentation is only published from the master branch, so there may be inconsistencies between the repository content and the documentation. In this case you can read through index.md file, checked out from the branch you cloned. The file is located in the directory hono-site/content/deployment/openshift.\n  Setting up EnMasse This section describes how to install EnMasse, the messaging layer which Hono is based on.\nStart by downloading and unpacking EnMasse:\ncurl -LO https://github.com/EnMasseProject/enmasse/releases/download/0.25.0/enmasse-0.25.0.tgz tar xzf enmasse-0.25.0.tgz   Other versions Other versions of EnMasse might work as well, but are untested by this deployment guide. Unless you explicitly want to try out a different version, it is recommended to use to the version documented in this tutorial.  First switch to a user with cluster admin privileges, e.g.:\noc login -u admin  Then create a new project:\noc new-project enmasse-infra --display-name='EnMasse'  And perform the deployment:\noc apply -f enmasse-0.25.0/install/bundles/enmasse-with-standard-authservice  Wait for the admin console to completely start up. You can check this with the following command:\noc get deploy/api-server deploy/keycloak  Verify that the \u0026ldquo;AVAILABLE\u0026rdquo; column shows \u0026ldquo;1\u0026rdquo;:\nNAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE api-server 1 1 1 1 1m keycloak 1 1 1 1 1m  Finally switch back to your normal application user:\noc login -u developer  Setting up Hono Start by creating a new project using:\noc new-project hono --display-name='Eclipse Hono™'  Then create the EnMasse address space to use:\noc create -f hono-address-space.yml  Before proceeding to the next step, ensure that the address space has been created and is ready. Executing the following command should contain Is Ready: true in the status section:\noc describe addressspace/default  You can also quickly check for isReady with a JSON path query:\noc get addressspace/default -o jsonpath='{.status.isReady}'  Then process and execute the main Hono template in order to deploy the Hono services:\noc process -f hono-template.yml | oc create -f -  OpenShift templates allow to use parameters which can customize provided templates. If you want to specify template parameters from the command line use the following syntax:\noc process -f hono-template.yml \\ -p GIT_REPOSITORY=https://github.com/your/hono.git \\ -p GIT_BRANCH=0.9.x| oc create -f -   Align branches By default the Hono template uses the master branch for deploying Hono. As this branch might be unstable this may not be what you are looking for, but it also is the default branch of the Hono Git repository where you checked out the deployment template.\nIt is recommended that when you execute the guide from an alternate branch (e.g. 0.9.x) that you also pass the same branch as GIT_BRANCH to the template.\n  And register the template for creating new Hono tenants. This only registers the template, but does not create a new tenant yet:\noc create -f hono-tenant-template.yml  Next you will need to create a tenant, execute the following command to create the default tenant:\noc process hono-tenant HONO_TENANT_NAME=DEFAULT_TENANT RESOURCE_NAME=defaulttenant CONSUMER_USER_NAME=consumer CONSUMER_USER_PASSWORD=\u0026quot;$(echo -n verysecret | base64)\u0026quot;| oc create -f -   Creating tenants Creating a new tenant using the template currently only creates the necessary resources in EnMasse for the tenant. It does not create the tenant in the Hono device registry.  Enabling metrics The default OpenShift deployment of Hono does support the use of Prometheus as a metrics backend. However it is still required to deploy an instance of Prometheus and Grafana to your installation in order to actually gather and visualize the metrics.\nAdding Prometheus support This section will explain how to set up Prometheus via the OLM and the Prometheus Operator. This is only an example, it is possible to install Prometheus in different ways. Or skip the installation of Prometheus, if you want to use a different metrics backend.\nRun the following commands to register the prometheus operator and create a new instance:\noc project hono oc create -f ../resource-descriptors/prometheus/operator.yml oc create -f ../resource-descriptors/prometheus/instance.yml  Setting up Grafana Start by creating a new project using:\noc new-project grafana --display-name='Grafana Dashboard'  Create the config resources:\noc create configmap grafana-provisioning-dashboards --from-file=../../config/grafana/provisioning/dashboards oc create configmap grafana-dashboard-defs --from-file=../../config/grafana/dashboard-definitions oc label configmap grafana-provisioning-dashboards app=hono-metrics oc label configmap grafana-dashboard-defs app=hono-metrics  Then deploy the Grafana instance using:\noc process -f grafana-template.yml \\ -p ADMIN_PASSWORD=admin | oc create -f -  OpenShift templates allow to use parameters which can customize provided templates. If you want to specify template parameters from the command line use the following syntax:\noc process -f grafana-template.yml \\ -p ADMIN_PASSWORD=admin \\ -p HONO_NAMESPACE=hono \\ -p GIT_REPOSITORY=https://github.com/your/hono.git \\ -p GIT_BRANCH=0.9.x| oc create -f -  Configuring the installation The default installation of Hono can be tweaked in a few ways. The following sub-sections describe a few aspects that can be modified.\nConfigure maximum number of devices per tenant The default settings for the example Hono device registry limit the number of devices to 100 per tenant. If this is not enough for your setup you can change the setting by executing the following command, which will increase the number to 10.000 devices per tenant:\noc set env -n hono dc/hono-service-device-registry HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT=10000  Adding Jaeger support By default Hono has the capability to work with OpenTracing, and it also provides a build profile for enabling the \u0026ldquo;Jaeger\u0026rdquo; implementation of OpenTracing.\nThere are a few manual steps required to modify the default Hono deployment for OpenShift in order to enable this profile.\nEnable the build profile The Hono profile needs to be enabled, to include the Jaeger components in the S2I builds.\nModify the Hono templates to add the jaeger profile in the builds. e.g.:\nname: fabric8-s2i-java-custom:2.3 env: - name: MAVEN_ARGS_APPEND - value: -B -pl org.eclipse.hono:hono-adapter-mqtt-vertx --also-make -Pnetty-tcnative + value: -B -pl org.eclipse.hono:hono-adapter-mqtt-vertx --also-make -Pnetty-tcnative -Pjaeger - name: ARTIFACT_DIR value: adapters/mqtt-vertx/target - name: ARTIFACT_COPY_ARGS  Be sure to trigger new builds if you already built the container images before.\nAdd the Jaeger agent sidecar In order to add capture output from the Jaeger client and forward it to the main Jaeger application, a Jaeger agent is required. This will be deployed alongside each Hono service, as a dedicated container, but in the same pod (aka sidecar).\nThis requires a new image stream:\nkind: ImageStream apiVersion: v1 metadata: name: jaeger-agent spec: lookupPolicy: local: false tags: - name: \u0026quot;latest\u0026quot; from: kind: DockerImage name: docker.io/jaegertracing/jaeger-agent:latest importPolicy: scheduled: true referencePolicy: type: Source  Then you need to modify the deployment configuration for each Hono service that should use the Jaeger agent:\n- kind: DeploymentConfig apiVersion: v1 metadata: name: hono-adapter-mqtt-vertx labels: app: hono-adapter deploymentconfig: hono-adapter-mqtt-vertx spec: replicas: 1 selector: app: hono-adapter deploymentconfig: hono-adapter-mqtt-vertx strategy: type: Rolling rollingParams: timeoutSeconds: 3600 triggers: - type: ConfigChange - type: ImageChange imageChangeParams: automatic: true containerNames: - eclipsehono-hono-adapter-mqtt-vertx from: kind: ImageStreamTag name: hono-adapter-mqtt-vertx:latest + - type: ImageChange + imageChangeParams: + automatic: true + containerNames: + - jaeger-agent + from: + kind: ImageStreamTag + name: jaeger-agent:latest template: metadata: labels: app: hono-adapter deploymentconfig: hono-adapter-mqtt-vertx spec: containers: - name: eclipsehono-hono-adapter-mqtt-vertx image: hono-adapter-mqtt-vertx imagePullPolicy: Always env: - name: SPRING_CONFIG_LOCATION value: file:///etc/config/ - name: SPRING_PROFILES_ACTIVE value: - name: LOGGING_CONFIG value: file:///etc/config/logback-spring.xml - name: KUBERNETES_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: HONO_MESSAGING_HOST valueFrom: configMapKeyRef: name: hono-configuration key: downstream.host - name: HONO_MESSAGING_PORT valueFrom: configMapKeyRef: name: hono-configuration key: downstream.port - name: HONO_COMMAND_HOST valueFrom: configMapKeyRef: name: hono-configuration key: downstream.host - name: HONO_COMMAND_PORT valueFrom: configMapKeyRef: name: hono-configuration key: downstream.port - name: HONO_REGISTRATION_HOST value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc - name: HONO_CREDENTIALS_HOST value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc - name: HONO_TENANT_HOST value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc - name: MANAGEMENT_METRICS_EXPORT_GRAPHITE_HOST value: influxdb.$(KUBERNETES_NAMESPACE).svc - name: AB_JOLOKIA_USER value: jolokia - name: AB_JOLOKIA_PASSWORD_RANDOM value: \u0026quot;false\u0026quot; - name: AB_JOLOKIA_PASSWORD valueFrom: secretKeyRef: name: hono-secrets key: jolokia.password readinessProbe: httpGet: path: /readiness port: 8088 scheme: HTTPS initialDelaySeconds: 10 livenessProbe: httpGet: path: /liveness port: 8088 scheme: HTTPS initialDelaySeconds: 180 resources: limits: memory: 512Mi ports: - containerPort: 8778 name: jolokia - containerPort: 8088 name: radan-http protocol: TCP - containerPort: 8883 name: secure-mqtt protocol: TCP - containerPort: 1883 name: mqtt protocol: TCP securityContext: privileged: false volumeMounts: - mountPath: /etc/config name: conf - mountPath: /etc/secrets name: secrets readOnly: true - mountPath: /etc/tls name: tls readOnly: true + - image: jaeger-agent + name: jaeger-agent + ports: + - containerPort: 5775 + protocol: UDP + - containerPort: 5778 + - containerPort: 6831 + protocol: UDP + - containerPort: 6832 + protocol: UDP + command: + - \u0026quot;/go/bin/agent-linux\u0026quot; + - \u0026quot;--collector.host-port=jaeger-collector.jaeger.svc:14267\u0026quot; + env: + - name: JAEGER_SERVICE_NAME + value: hono-adapter-mqtt volumes: - name: conf configMap: name: hono-adapter-mqtt-vertx-config - name: secrets secret: secretName: hono-mqtt-secrets - name: tls secret: secretName: hono-adapter-mqtt-vertx-tls  The important parts are only the modifications, which add a new image stream trigger, and also add the additional agent container to the deployment. This example assumes that the Jaeger collector will be available at the hostname jaeger-collector.jaeger.svc. This will be true if you follow the next section on deploying a development-only Jaeger cluster. Should you deploy Jaeger differently, then this hostname and/or port may be different.\nDeploy Jaeger Setting up a full Jaeger cluster is a complicated task. However there is a good tutorial at the Jaeger repository at: https://github.com/jaegertracing/jaeger-openshift\nA simple deployment, for testing purposes only, can be performed by running the development setup template of Jaeger for OpenShift:\noc new-project jaeger oc process -f https://raw.githubusercontent.com/jaegertracing/jaeger-openshift/master/all-in-one/jaeger-all-in-one-template.yml | oc create -f -  Please be aware of the official note in the documentation:\n This template uses an in-memory storage with a limited functionality for local testing and development. Do not use this template in production environments.\n Using the installation All following examples make use of the running Hono instance. They pretty much follow the other examples. Please note that, compared to the more simple OpenShift deployment, in this case we need to take care of different project names when looking up route host names via oc get. You can use the command line argument -n \u0026lt;project\u0026gt; to specify the project name without changing the default selected project.\nAll examples in the following sub-sections assume that you are located in the cli directory.\nExtract certificates In order to connect the external consumer to Enmasse, we need to extract the certificate which messaging endpoint of EnMasse uses. This allows to validate the connection to the endpoint and encrypt the communication using TLS.\nThe following command extracts the certificate of the endpoint (not the key):\noc -n hono get addressspace default -o jsonpath={.status.endpointStatuses[?(@.name==\\'messaging\\')].cert} | base64 -d \u0026gt; target/config/hono-demo-certs-jar/tls.crt  This will retrieve the certificate, decode the base64 encoded string and store it in the file target/config/hono-demo-certs-jar/tls.crt. Although the file is a \u0026ldquo;demo cert\u0026rdquo; as the path might indicate, it still is stored in the same location in order to align the with the other example commands of the Hono documentation.\nRunning consumer As described in the Getting Started guide, data produced by devices is usually consumed by downstream applications which connect directly to the router network service. You can start the client from the cli folder as follows:\nmvn spring-boot:run -Dspring-boot.run.arguments=--hono.client.host=$(oc -n hono get addressspace default -o jsonpath={.status.endpointStatuses[?(@.name==\\'messaging\\')].externalHost}),--hono.client.port=443,--hono.client.username=consumer,--hono.client.password=verysecret,--hono.client.trustStorePath=target/config/hono-demo-certs-jar/tls.crt  Register device In order to upload telemetry data to Hono, the device needs to be registered with the system. You can register the device using the Device Registry by running the following command (i.e. for a device with ID 4711):\ncurl -X POST -i -H 'Content-Type: application/json' -d '{\u0026quot;device-id\u0026quot;: \u0026quot;4711\u0026quot;}' https://$(oc get -n hono route hono-service-device-registry-https --template='{{.spec.host}}')/registration/DEFAULT_TENANT  Uploading Telemetry with HTTP After having the device registered, uploading telemetry is just a simple HTTP POST command to the HTTP Adapter:\ncurl -X POST -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{\u0026quot;temp\u0026quot;: 5}' https://$(oc -n hono get route hono-adapter-http-vertx-sec --template='{{.spec.host}}')/telemetry "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/",
+	"title": "Setting up a Kubernetes Cluster",
+	"tags": [],
+	"description": "",
+	"content": "This guide describes how to set up a Kubernetes cluster which can be used to run Eclipse Hono.\nHono can be deployed to any Kubernetes cluster running version 1.11 or newer. This includes OpenShift (Origin) which is built on top of Kubernetes.\nThe Kubernetes web site provides instructions for setting up a (local) cluster on bare metal and/or virtual infrastructure from scratch or for provisioning a managed Kubernetes cluster from one of the popular cloud providers.\n\nSetting up a local Development Environment The easiest option is to set up a single-node cluster running on a local VM using the Minikube project. This kind of setup is sufficient for evaluation and development purposes. Please refer to Kubernetes\u0026rsquo; Minikube setup guide for instructions on how to set up a cluster locally.\nThe recommended settings for a Minikube VM used for running Hono\u0026rsquo;s example setup are as follows:\n cpus: 2 memory: 8192 (MB)  The command to start the VM will look something like this:\nminikube start --cpus 2 --memory 8192 -p hono  After the Minikube VM has started successfully, the minikube tunnel command should be run in order to support Hono\u0026rsquo;s services being deployed using the LoadBalancer type. Please refer to the Minikube Networking docs for details.\n Supported Kubernetes Versions Minikube will use the most recent Kubernetes version that was available when it has been compiled by default. Hono should run on any version of Kubernetes starting with 1.13.6. However, it has been tested with several specific versions only so if you experience any issues with running Hono on a more recent version, please try to deploy to 1.13.6 before raising an issue. You can use Minikube\u0026rsquo;s --kubernetes-version command line switch to set a particular version.  Setting up a Production Environment Setting up a multi-node Kubernetes cluster is a more advanced topic. Please follow the corresponding links provided in the Kubernetes documentation.\nSetting up a Cluster using Azure Kubernetes Service The following sections provide step-by-step instructions for setting up a Kubernetes cluster on Microsoft Azure that can be used to run Hono.\nPrepare Environment At this step we expect you have clean Ubuntu VM or PC (tested on Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64))\nInstall azure cli sudo apt-get update sudo apt-get install curl apt-transport-https lsb-release gpg curl -sL https://packages.microsoft.com/keys/microsoft.asc | \\ gpg --dearmor | \\ sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg \u0026gt; /dev/null AZ_REPO=$(lsb_release -cs) echo \u0026quot;deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main\u0026quot; | \\ sudo tee /etc/apt/sources.list.d/azure-cli.list sudo apt-get update sudo apt-get install azure-cli  Install Kubectl The kubectl tool is used to manage a Kubernetes cluster from the command line. Follow the installation guide in order to set up kubectl on your local machine.\nLog in to Azure Type\naz login  and follow instructions on screen.\nA result of successful log in will be a JSON output with subscription details. Run the following command, using the subscription id from the JSON structure:\naz account set -s \u0026quot;{YOUR SUBSCRIPTION ID}\u0026quot;  Before we continue, let\u0026rsquo;s setup some variables, that will be used to create resources on Azure:\n# Name of your Resource Group, where all services will be deployed AKS_RESOURCE_GROUP={YOUR-RG-NAME} # Name of your AKS cluster AKS_CLUSTER_NAME={YOUR-AKS-NAME} # Name of your private container registry (should match ^[a-zA-Z0-9]*$) ACR_NAME={YOUR-ACR-NAME}  Create Resource Group for Hono Deployment az group create --name $AKS_RESOURCE_GROUP --location westeurope  Create private Container Registry on Azure az acr create --resource-group $AKS_RESOURCE_GROUP --name $ACR_NAME --sku Basic  The full name of the private container registry will be $ACR_NAME.azurecr.io. This name needs to be used with the docker push command when pushing container images to the registry.\nLog in to Container Registry sudo az acr login --name $ACR_NAME  Create Azure Kubernetes Service Cluster Now it\u0026rsquo;s time to create the AKS cluster.\nCreate Service Principal az ad sp create-for-rbac --skip-assignment  If successful, appId and password will be displayed.\nCreate Cluster # It is recommended to use kubernetes 1.12.5 or higher # To list available versions run: # az aks get-versions --location westeurope --output table az aks create --name $AKS_CLUSTER_NAME --resource-group $AKS_RESOURCE_GROUP --node-count 3 --generate-ssh-keys --service-principal \u0026quot;{appId}\u0026quot; --client-secret \u0026quot;{password}\u0026quot; --enable-addons monitoring --kubernetes-version 1.13.5  Set Cluster as current Context for kubectl az aks get-credentials --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME  Create ClusterRoleBinding for Kubernetes dashboard # By default, AKS is deployed with RBAC enabled. Refer to this doc: https://docs.microsoft.com/en-us/azure/aks/kubernetes-dashboard kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard  Deploy Helm\u0026rsquo;s Tiller Service kubectl create serviceaccount --namespace kube-system tiller kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller helm init --service-account tiller  Grant AKS Cluster access to Container Registry # Get the id of the service principal configured for AKS CLIENT_ID=$(az aks show --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --query \u0026quot;servicePrincipalProfile.clientId\u0026quot; --output tsv) # Get the ACR registry resource id ACR_ID=$(az acr show --name $ACR_NAME --resource-group $AKS_RESOURCE_GROUP --query \u0026quot;id\u0026quot; --output tsv) # Create role assignment az role assignment create --assignee $CLIENT_ID --role acrpull --scope $ACR_ID  Monitoring You can monitor your cluster using Azure Monitor Insights.\nNavigate to https://portal.azure.com -\u0026gt; your resource group -\u0026gt; your kubernetes cluster\nOn an overview tab you fill find an information about your cluster (status, location, version, etc.). Also, here you will find a \u0026ldquo;Monitor Containers\u0026rdquo; link. Navigate to \u0026ldquo;Monitor Containers\u0026rdquo; and explore metrics and statuses of your Cluster, Nodes, Controllers and Containers.\nAnother option is to use the kubernetes dashboard. To do this, run:\naz aks browse --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME  This will create a port forward for Kubernetes\u0026rsquo; dashboard on your local port 8001. Open http://127.0.0.1:8001 in your browser and select Namespace hono, check status of your services, pods, etc.\nCleaning up Use the following command to delete all created resources (incl. the Kubernetes cluster and the private container registry) once they are no longer needed:\naz group delete --name $AKS_RESOURCE_GROUP --yes --no-wait  Links  Azure CLI Azure Kubernetes Service Azure Container Registry "
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/",
+	"title": "Limiting Resource Usage",
+	"tags": [],
+	"description": "",
+	"content": "Deploying Eclipse Hono\u0026trade; to a container orchestration platform is easy thanks to the provided Docker images. This page provides some guidance for configuring the resource consumption of these containers in order to make sure that they get enough memory and CPU to run properly, but to also make sure that individual containers do not use up all the resources causing other containers to starve.\nDocker itself provides means to limit a container\u0026rsquo;s consumption of memory and CPU resources by means of command line options that can be set when starting up a container. Both Kubernetes and OpenShift leverage this mechanism when defining resource limits of a pod. Please refer to the corresponding documentation of Docker, Kubernetes and OpenShift for details regarding the particular syntax to be used.\nJava\u0026rsquo;s View of the World Hono\u0026rsquo;s service components are implemented in Java. When the corresponding Docker container for such a service is started, the only process being run inside the container is therefore a Java virtual machine (JVM). On startup, the JVM tries to determine the amount of memory and the number of CPU cores that it can use to execute workloads. By default the JVM queries the operating system for the corresponding parameters and adjusts its runtime parameters accordingly, e.g. it will by default limit the size of its heap memory to a quarter of the total memory available in order to leave enough memory for other processes running on the same system.\nThis is a reasonable approach when running on bare metal or a VM where other processes are expected to be running on the same machine, thus competing for the same computing resources. However, containers are usually configured to run a single process only so that it makes more sense to dedicate almost all of the available resources to running that process, leaving the (small) rest for the operating system itself.\nAs described above, a Docker container can easily be configured with a limit for memory and CPU resources that it may use during runtime. These limits are set and enforced using Linux CGroups. When a Java VM is run inside of such a Docker container which has been configured with a memory limit, then the result of the JVM\u0026rsquo;s attempt to determine the available resources during startup will not reflect the memory limit imposed on the container. That is because the JVM by default does not consider the CGroup limit but instead queries the operating system for the overall amount of memory available. The same is true for the way that the JVM determines the number of available CPU cores.\nAs described above, a Docker container can easily be configured with a limit for memory and CPU resources that it may use during runtime. These limits are set and enforced using Linux CGroups. When a pre version 9 Java VM is run inside of such a Docker container which has been configured with a memory limit, then the result of the JVM\u0026rsquo;s attempt to determine the available resources during startup will not reflect the memory limit imposed on the container. That is because the JVM by default does not consider the CGroup limit but instead queries the operating system for the overall amount of memory available. The same is true for the way that the JVM determines the number of available CPU cores. Starting with version 9 Java correctly determines the amount of memory and CPUs available when running in a container.\nLimiting a Container\u0026rsquo;s Memory Consumption Java 8 OpenJDK 8 has introduced the experimental -XX:+UseCGroupMemoryLimitForHeap option to make the JVM consider CGroup limits when determining the amount of available memory. Using this option, it is possible to explicitly configure a Java 8 VM\u0026rsquo;s memory consumption within the boundaries of the container\u0026rsquo;s (limited) resources. However, the JVM will still only allocate a quarter of the (limited) amount of memory, thus leaving a lot of the memory available to the container unused.\nEither of the following JVM options can be used in Java 8 in order to change this behavior:\n -XX:MaxRAMFraction can be used to set the fraction of total memory that may be allocated for the heap. The default value is 4 (meaning that up to a quarter of the memory will be allocated), so in order to increase the amount of memory, the value can be set to 2 (using up to 50% of the memory) or 1 (using up to 100% of the memory). Setting the option to 1 is strongly discouraged because it would leave no memory left for the JVM\u0026rsquo;s other memory areas nor any additional processes run by the operating system. -Xmx can be used to explicitly set the maximum amount of memory used for the heap. As a rule of thumb, setting this value to 60-70% of the container\u0026rsquo;s (limited) amount of memory should usually work. Based on the application\u0026rsquo;s memory usage characteristics, increasing the value to 80 or even 90% might also work.  Java 9 and later Starting with Java 9, the JVM will correctly determine the total memory and number of CPUs available when running inside of a container. All of the Docker images provided by Hono run with OpenJDK 11 by default, thus ensuring that the JVM considers any memory limits configured for the container when configuring its heap during startup. However, the default algorithm will still only allocate a quarter of the (limited) amount of memory, thus leaving a lot of memory available to the container unused.\nThe following JVM options can be used in Java 9 and later in order to change this behavior:\n -XX:MinRAMPercentage, -XX:MaxRAMPercentage and -XX:InitialRAMPercentage can be used to set the (minimum, maximum and initial) percentage of total memory that may be allocated for the heap. A value of 70-80% should work if no other processes are running in the same container.  Kubernetes In Kubernetes (and OpenShift) the resource limits for a pod, and thus the container(s) that are part of the pod, can be configured in the corresponding PodSpec. The following example from the HTTP adapter\u0026rsquo;s Kubernetes Deployment resource descriptor illustrates the mechanism:\napiVersion: apps/v1beta1 kind: Deployment metadata: name: hono-adapter-http-vertx spec: template: metadata: labels: app: hono-adapter-http-vertx version: \u0026quot;${project.version}\u0026quot; group: ${project.groupId} spec: containers: - image: eclipse/hono-adapter-http-vertx:${project.version} name: eclipse-hono-adapter-http-vertx resources: limits: memory: \u0026quot;256Mi\u0026quot; ports: - containerPort: 8080 protocol: TCP env: - name: SPRING_CONFIG_LOCATION value: file:///etc/hono/ - name: SPRING_PROFILES_ACTIVE value: dev - name: LOGGING_CONFIG value: classpath:logback-spring.xml - name: _JAVA_OPTIONS value: \u0026quot;-XX:MinRAMPercentage=80 -XX:MaxRAMPercentage=80\u0026quot; volumeMounts: - mountPath: /etc/hono name: conf readOnly: true volumes: - name: conf secret: secretName: hono-adapter-http-vertx-conf  The resources property defines the overall limit of 256 MB of memory that the pod may use. The _JAVA_OPTIONS environment variable is again used to configure the JVM to use 80% of the total memory for its heap.\nLimiting the Number of Device Connections Hono supports limiting the overall number of simultaneously connected devices per tenant. Please refer to the connections limit concept for more information. The limit needs to be configured at the tenant level using the resource-limits configuration property. Please refer to the Tenant API for configuration details.\nLimiting the Number of Messages Hono supports limiting the number of messages that devices of a tenant can publish to Hono during a given time interval. Please refer to the messages limit concept for more information. The limit needs to be configured at the tenant level using the resource-limits configuration property. Please refer to the Tenant API for configuration details.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/architecture/",
+	"title": "Architecture",
+	"tags": [],
+	"description": "",
+	"content": " Architecture Get an overview over Hono\u0026rsquo;s architecture.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/",
+	"title": "Component View",
+	"tags": [],
+	"description": "",
+	"content": "This page describes the high level components constituting an Eclipse Hono\u0026trade; instance and their relations to each other.\nTop Level The diagram below provides an overview of the top level logical components.\n  The MQTT and HTTP Adapters use the Device Registry to authenticate Devices connecting to the adapters and asserting their registration status. The adapters then forward the telemetry data and events received from the devices to the AMQP 1.0 Messaging Network for delivery to Business Applications. Business applications also use the messaging network to send commands to connected devices.\nThe Device Registry uses the Auth Server to authenticate the protocol adapters during connection establishment.\nAll interactions between the components are based on AMQP 1.0 message exchanges as defined by the\n Credentials API, Tenant API, Device Registration API, Command \u0026amp; Control (C\u0026amp;C) API, Telemetry API and Event API.  Device Registry The diagram below provides an overview of the Device Registry component\u0026rsquo;s internal structure.\n  The Device Registry component implements the Credentials API, Tenant API and Device Registration API. Clients opening a connection to SimpleDeviceRegistryServer are authenticated by means of an external service accessed via the Auth port. The FileBasedCredentialsService, FileBasedTenantService and FileBasedRegistrationService store all data in the local file system. The Device Registry is therefore not recommended to be used in production environments because the component cannot easily scale out horizontally. It is mainly intended to be used for demonstration purposes and PoCs. In real world scenarios, a more sophisticated implementation should be used that is designed to scale out, e.g. using a persistent store for keeping device registration information that can be shared by multiple instances.\nAMQP 1.0 Messaging Network The AMQP 1.0 Messaging Network is not per se a component being developed as part of Hono. Instead, Hono comes with a default implementation of the messaging network relying on artifacts provided by other open source projects. The default implementation currently consists of a single Apache Qpid Dispatch Router instance connected to a single Apache Artemis broker instance. Note that this setup is useful for development purposes but will probably not meet requirements regarding e.g. scalability of real world use cases.\nThe diagram below provides an overview of the default implementation of the Messaging Network component used with Hono.\n  Scaling out messaging infrastructure is a not a trivial task. Hono does not provide an out-of-the-box solution to this problem but instead integrates with the EnMasse project which aims at providing Messaging as a Service infrastructure.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/",
+	"title": "Authentication/Authorization",
+	"tags": [],
+	"description": "",
+	"content": "This page describes how authentication and authorization of devices, consumers (back end applications) and system components works in Hono.\nRequirements  Devices are authenticated and authorized when they connect to a protocol adapter. Consumers are authenticated and authorized when they connect to a Dispatch Router instance. System components are authenticated and authorized when they connect to each other. Credentials and authorization rules can be managed centrally, i.e. credentials and rules do not need to be configured manually on each component.  How it works today The following diagram provides an overview of the components involved in use cases requiring authentication and authorization.\n  Device Auth Both the HTTP adapter as well as the MQTT adapter require devices to authenticate during connection establishment by default. Both rely on the Credentials API to help in verifying credentials provided by a device. Please refer to Device Authentication for a general overview of Hono\u0026rsquo;s approach to authenticating devices and to the protocol adapter user guides for specifics regarding how devices can authenticate to the corresponding protocol adapters.\nSystem Component Auth Client components opening an AMQP connection to a server component are authenticated using SASL PLAIN as specified in RFC 4422. The server component takes the authentication information provided by the client component and opens a connection to the Auth Server, using the credentials provided by the client in its SASL PLAIN exchange with the server component. On successful authentication the Auth Server issues a JSON Web Token (JWT) asserting the client\u0026rsquo;s identity and its granted authorities to the server component. The server component then attaches this token to its AMQP connection with the client and from then on uses it to make authorization decisions regarding the client\u0026rsquo;s requests. See Authentication API for details regarding the authentication process and the format of the tokens issued by the Auth Server.\nBased on the components shown above, the following sequence diagram shows how the MQTT Adapter connects to the Device Registry and gets authenticated transparently using the Auth Server.\n  Client components are authorized whenever they open a new AMQP link on an existing connection to the server. When a client tries to open a receiver link, the server checks if the client is authorized to read from the source address the client has specified in its AMQP attach frame. Analogously, when a client tries to open a sender link, the server checks if the client is authorized to write to the target address from the client\u0026rsquo;s attach frame.\nService implementations may additionally authorize individual (request) messages received from the client, e.g. based on the message\u0026rsquo;s subject property which is used by Hono\u0026rsquo;s AMQP 1.0 based APIs to indicate the operation to invoke. In such a case the server checks if the client is authorized to execute the operation indicated by the message subject on the link\u0026rsquo;s target address.\nApplication Auth Business Applications connect to the AMQP 1.0 Messaging Network in order to consume telemetry data and events and send commands to devices. It is therefore the responsibility of the AMQP Network to properly authenticate and authorize the application.\nThe Apache Qpid Dispatch Router which is used in Hono\u0026rsquo;s example deployment can be configured to authenticate consumers using arbitrary SASL mechanisms. Access to addresses for receiving messages can be restricted to certain identities. The Dispatch Router instance which is used in the example deployment is configured to delegate authentication of clients to the Auth Server by means of its Auth Service Plugin mechanism. This mechanism works in a very similar way as described above for the authentication of system components. The main difference is that the clients\u0026rsquo; authorities are not transferred by means of a JSON Web Token but instead are carried in a property of the Auth Server\u0026rsquo;s AMQP open frame.\nManagement of Identities and Authorities The identities and corresponding authorities that the Auth Server uses for verifying credentials and issuing tokens are defined in a configuration file (services/auth/src/main/resources/permissions.json) read in during start-up of the Auth Server. These authorities are used for authenticating and authorizing system components as well as Business Applications.\nPlease refer to the Dispatch Router documentation for details regarding configuration of Dispatch Router security.\nFuture Approach In the long run Hono will still use tokens for authenticating clients but will use a policy based approach for authorizing requests, i.e. authorization decisions will be made by a central policy enforcement component. Hono services will pass in the client\u0026rsquo;s token, the resource being accessed and the intended action along with potentially other attributes to the policy enforcement component which will then make the authorization decision based on the configured rules (policy) and return the outcome to the component.\n"
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/categories/",
+	"title": "Categories",
+	"tags": [],
+	"description": "",
+	"content": ""
+},
+{
+	"uri": "https://www.eclipse.org/hono/docs/dev/tags/",
+	"title": "Tags",
+	"tags": [],
+	"description": "",
+	"content": ""
+}]
\ No newline at end of file
diff --git a/docs/dev/index.xml b/docs/dev/index.xml
new file mode 100644
index 0000000..306d5ce
--- /dev/null
+++ b/docs/dev/index.xml
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Documentation on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/</link>
+    <description>Recent content in Documentation on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Device Identity</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/device-identity/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/device-identity/</guid>
+      <description>&lt;p&gt;This page describes how devices are represented and identified throughout Hono and its API&amp;rsquo;s.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Multi-Tenancy</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/tenancy/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/tenancy/</guid>
+      <description>Hono is designed to structure the set of all internally managed data and data streams into strictly isolated subsets. This includes the registration data and credentials of devices, internal users that are used for authentication, and the Business Applications that are part of such subsets as well.
+This way of strict isolation is generally known as multi-tenancy, where a tenant is the term for such a subset. Such an isolation is essential for enabling a scalable distributed architecture to handle independent subsets as if each subset had its own installation (which would be much harder to maintain and would not benefit from runtime cost sharing).</description>
+    </item>
+    
+    <item>
+      <title>Device Notifications</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/</guid>
+      <description>&lt;p&gt;&lt;em&gt;Business Applications&lt;/em&gt; need to know when an attempt to send a command to device is feasible, e.g. because the device is then known to be connected to a protocol adapter. &lt;em&gt;Devices&lt;/em&gt; and &lt;em&gt;Protocol Adapters&lt;/em&gt; can indicate to &lt;em&gt;Business Applications&lt;/em&gt; a device&amp;rsquo;s intent to e.g. receive commands using specific &lt;em&gt;notifications&lt;/em&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Command &amp; Control</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/</guid>
+      <description>&lt;p&gt;&lt;em&gt;Business applications&lt;/em&gt; can send commands to devices following the &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/command-and-control-api/&#34;&gt;Command &amp;amp; Control API&lt;/a&gt;. This concept page describes how this API is used by applications to send commands to devices that connected to one of Hono&amp;rsquo;s protocol adapters.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Resource limits</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/</guid>
+      <description>Resource limits such as the maximum number of device connections allowed per tenant or the allowed data volume of the messages over a period of time per tenant can be set in Hono.
+Hono specifies an API ResourceLimitChecks that is used by the protocol adapters for the verification of the configured resource limits. A default implementation of this API is shipped with Hono. This default implementation uses the live metrics data retrieved from a Prometheus server to verify the resource-limits, if configured.</description>
+    </item>
+    
+    <item>
+      <title>Connection Events</title>
+      <link>https://www.eclipse.org/hono/docs/dev/concepts/connection-events/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/concepts/connection-events/</guid>
+      <description>Hono&amp;rsquo;s protocol adapters can use connection events to indicate the connection status of a device. In particular, an adapter can notify downstream components about a newly established connection with a device or about a device having disconnected. The connection status of devices using stateful protocols like MQTT and AMQP can usually be determined quite easily because these protocols often require peers to explicitly open or close a connection and often also support a kind of heart beat which can be used to determine if a connection is still alive.</description>
+    </item>
+    
+    <item>
+      <title>Device Registry</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/</guid>
+      <description>&lt;p&gt;The Device Registry component provides exemplary implementations of Hono&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/tenant-api/&#34;&gt;Tenant API&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/device-registration-api/&#34;&gt;Device Registration API&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/credentials-api/&#34;&gt;Credentials API&lt;/a&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>HTTP Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/</guid>
+      <description>&lt;p&gt;The HTTP protocol adapter exposes an HTTP based API for Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>MQTT Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/</guid>
+      <description>&lt;p&gt;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.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>AMQP Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/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>
+    </item>
+    
+    <item>
+      <title>Kura Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/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>
+    </item>
+    
+    <item>
+      <title>Sigfox Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/</guid>
+      <description>&lt;p&gt;The Sigfox protocol adapter exposes an HTTP endpoint for connecting up with
+the Sigfox backend for publishing telemetry, events and use command &amp;amp; control.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Load Tests with JMeter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/jmeter_load_tests/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/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>
+    </item>
+    
+    <item>
+      <title>Common Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/</guid>
+      <description>&lt;p&gt;Most Hono components support a common set of configuration options. This section
+describes those options.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Auth Server Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/</guid>
+      <description>&lt;p&gt;The Auth Server component exposes a service endpoint implementing Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/authentication-api/&#34;&gt;Authentication&lt;/a&gt; API. Other services use this component for authenticating clients and retrieving a token asserting the client&amp;rsquo;s identity and corresponding authorities.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Device Registry Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/</guid>
+      <description>&lt;p&gt;The Device Registry component provides an exemplary implementation of Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/device-registration-api/&#34;&gt;Device Registration&lt;/a&gt;,
+&lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/credentials-api/&#34;&gt;Credentials&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/tenant-api/&#34;&gt;Tenant&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/device-connection-api/&#34;&gt;Device Connection&lt;/a&gt; APIs.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>HTTP Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/</guid>
+      <description>&lt;p&gt;The HTTP protocol adapter exposes a HTTP based API for Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>AMQP Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/</guid>
+      <description>&lt;p&gt;The AMQP protocol adapter allows clients (devices and gateway components) that speaks AMQP 1.0 to publish telemetry messages and events to Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>MQTT Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/</guid>
+      <description>&lt;p&gt;The MQTT protocol adapter exposes an MQTT topic hierarchy for publishing messages and events to Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Kura Adapter Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/</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>
+    </item>
+    
+    <item>
+      <title>Hono Client Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/</guid>
+      <description>&lt;p&gt;The &lt;code&gt;org.eclipse.hono.client.HonoClient&lt;/code&gt; factory can be used to create specific clients for accessing services implementing one or more of Hono&amp;rsquo;s APIs.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>AMQP 1.0 Messaging Network Configuration</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Qpid Dispatch Router&lt;/em&gt;, together with the &lt;em&gt;Apache Artemis&lt;/em&gt; message broker, serves as the default &lt;em&gt;AMQP 1.0 Messaging Network&lt;/em&gt; that is used in Hono&amp;rsquo;s example deployment as described in the &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/deployment/&#34;&gt;Deployment Guides&lt;/a&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Secure Communication</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/</guid>
+      <description>&lt;p&gt;The individual components of an Eclipse Hono&amp;trade; installation, e.g. the protocol adapters, &lt;em&gt;AMQP Messaging Network&lt;/em&gt;, &lt;em&gt;Hono Auth&lt;/em&gt; etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of &lt;em&gt;Transport Layer Security&lt;/em&gt; (TLS) and how to configure it.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Monitoring &amp; Tracing</title>
+      <link>https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/</guid>
+      <description>&lt;p&gt;The individual components of an Eclipse Hono&amp;trade; installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Building from Source</title>
+      <link>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</guid>
+      <description>Hono can be deployed using the pre-built Docker images available from our Docker Hub repositories. However, customizing and/or extending Hono&amp;rsquo;s functionality requires building the images from source code.
+This page provides step by step instructions for getting the source code and building the Hono&amp;rsquo;s Docker images from it.
+Prerequisites for building Hono Docker Creating Hono&amp;rsquo;s container images using the Hono build process requires a Docker daemon running either locally or on another host you have access to.</description>
+    </item>
+    
+    <item>
+      <title>Consuming Messages from Java</title>
+      <link>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</guid>
+      <description>To illustrate how Eclipse Hono&amp;trade; can be integrated with Java code, a simple application is provided that consumes telemetry and event data for devices belonging to the default tenant.
+It also includes support for Command and Control:
+if indicated by a received downstream message that contains a ttd value (refer to Device notifications for details) it tries to send a command to the device. If the value of ttd indicates that the device stays connected for an unlimited time (ttd == -1), the application will periodically repeat to send a command until notified the device is disconnected again (ttd == 0).</description>
+    </item>
+    
+    <item>
+      <title>Implement a Custom Hono HTTP Protocol Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</guid>
+      <description>&lt;p&gt;Eclipse Hono&amp;trade; comes with a default &lt;em&gt;HTTP Adapter&lt;/em&gt; which can be used to interact with devices via HTTP.
+The default HTTP Adapter also serves as a blueprint for implementing a &lt;em&gt;custom&lt;/em&gt; HTTP protocol adapter.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Telemetry API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/telemetry-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/telemetry-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Telemetry&lt;/em&gt; API is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to send telemetry data downstream.
+&lt;em&gt;Business Applications&lt;/em&gt; and other consumers use the API to receive data published by devices belonging to a particular tenant.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Event API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/event-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/event-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Event&lt;/em&gt; API is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to send event messages downstream.
+&lt;em&gt;Business Applications&lt;/em&gt; and other consumers use the API to receive messages published by devices belonging to a particular tenant.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Command &amp; Control API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Command &amp;amp; Control&lt;/em&gt; API of Eclipse Hono&amp;trade; is used by &lt;em&gt;Business Applications&lt;/em&gt; to send commands to connected devices.&lt;/p&gt;
+
+&lt;p&gt;Commands can be used to trigger actions on devices. Examples include updating a configuration property, installing a software component or switching the state of an actuator.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Tenant API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/tenant-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/tenant-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Tenant API&lt;/em&gt; is used by Hono&amp;rsquo;s protocol adapters to retrieve information that affects all devices belonging to a particular tenant.
+A tenant is a logical entity, which groups together a set of devices. The information registered for a tenant is used for example to
+determine if devices belonging to the tenant are allowed to connect to a certain protocol adapter or if devices are required to authenticate.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Device Connection API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/device-connection-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/device-connection-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Device Connection API&lt;/em&gt; is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to set and retrieve information about the connections from devices or gateways to the protocol adapters.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Device Registration API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/device-registration-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/device-registration-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Device Registration API&lt;/em&gt; is used by Hono&amp;rsquo;s protocol adapters to get information about devices connecting to the adapters.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Credentials API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/credentials-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/credentials-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Credentials API&lt;/em&gt; is used by &lt;em&gt;Protocol Adapters&lt;/em&gt; to retrieve credentials used to authenticate &lt;em&gt;Devices&lt;/em&gt; connecting to the adapter. In particular, the API supports the look up &lt;em&gt;shared secrets&lt;/em&gt; which are often used by IoT devices by means of &lt;em&gt;username/password&lt;/em&gt; based authentication schemes.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Authentication API Specification</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/authentication-api/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/authentication-api/</guid>
+      <description>&lt;p&gt;The &lt;em&gt;Authentication API&lt;/em&gt; is used to retrieve a &lt;em&gt;token&lt;/em&gt; asserting a subject&amp;rsquo;s identity and granted authorities. Other service implementations use such a token to make authorization decisions on a client&amp;rsquo;s request to read or write from/to a resource or to invoke a certain operation.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Metrics</title>
+      <link>https://www.eclipse.org/hono/docs/dev/api/metrics/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/api/metrics/</guid>
+      <description>&lt;p&gt;Eclipse Hono&amp;trade;&amp;rsquo;s components report several metrics which may be used to gain some insight
+into the running system. For instance, the HTTP adapter reports the number of successfully
+processed telemetry messages. Some of these metrics are considered part of Hono&amp;rsquo;s external
+interface. This section describes the semantics and format of the metrics, how they can be retrieved
+and how to interpret actual values.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Helm based Deployment</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/</guid>
+      <description>&lt;p&gt;Eclipse Hono&amp;trade;&amp;rsquo;s components are provided as container images which can be run on arbitrary container orchestration platforms.
+This page describes the steps necessary to deploy Hono to a &lt;a href=&#34;https://kubernetes.io&#34;&gt;Kubernetes&lt;/a&gt; cluster using the &lt;a href=&#34;https://helm.sh&#34;&gt;Helm package manager&lt;/a&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>OpenShift / OKD</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/openshift/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/openshift/</guid>
+      <description>&lt;p&gt;This guide describes how Eclipse Hono™ can be deployed on OpenShift with
+EnMasse, using the source-to-image (S2I) way. Using this approach, it is possible
+to customize and refresh the base images where Hono runs in. It also uses
+a more complex, multi-project setup and separates EnMasse and Grafana from
+the core Hono project.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Setting up a Kubernetes Cluster</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/</guid>
+      <description>&lt;p&gt;This guide describes how to set up a Kubernetes cluster which can be used to run Eclipse Hono.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Limiting Resource Usage</title>
+      <link>https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/</guid>
+      <description>&lt;p&gt;Deploying Eclipse Hono&amp;trade; to a container orchestration platform is easy thanks to the provided Docker images. This page provides some guidance for configuring the resource consumption of these containers in order to make sure that they get enough memory and CPU to run properly, but to also make sure that individual containers do not use up all the resources causing other containers to starve.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Component View</title>
+      <link>https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/</guid>
+      <description>&lt;p&gt;This page describes the high level components constituting an Eclipse Hono&amp;trade; instance and their relations to each other.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Authentication/Authorization</title>
+      <link>https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/</guid>
+      <description>&lt;p&gt;This page describes how authentication and authorization of devices, consumers (back end applications) and system components works in Hono.&lt;/p&gt;</description>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/sitemap.xml b/docs/dev/sitemap.xml
new file mode 100644
index 0000000..99b3507
--- /dev/null
+++ b/docs/dev/sitemap.xml
@@ -0,0 +1,735 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+  xmlns:xhtml="http://www.w3.org/1999/xhtml">
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/device-identity/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/device-identity/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/device-identity/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/tenancy/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/tenancy/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/tenancy/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/device-notifications/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/device-notifications/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/command-and-control/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/command-and-control/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/resource-limits/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/resource-limits/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/concepts/connection-events/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/concepts/connection-events/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/concepts/connection-events/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/device-registry/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/http-adapter/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/mqtt-adapter/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/amqp-adapter/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/kura-adapter/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/sigfox-adapter/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/user-guide/jmeter_load_tests/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/user-guide/jmeter_load_tests/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/user-guide/jmeter_load_tests/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/common-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/auth-server-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/device-registry-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/http-adapter-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/amqp-adapter-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/mqtt-adapter-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/kura-adapter-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/amqp-network-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/secure_communication/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/admin-guide/monitoring-tracing-config/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/dev-guide/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/dev-guide/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/dev-guide/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/dev-guide/building_hono/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/dev-guide/building_hono/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/dev-guide/java_client_consumer/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/dev-guide/java_client_consumer/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/dev-guide/custom_http_adapter/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/dev-guide/custom_http_adapter/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/telemetry-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/telemetry-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/telemetry-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/event-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/event-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/event-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/command-and-control-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/command-and-control-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/tenant-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/tenant-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/tenant-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/device-connection-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/device-connection-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/device-connection-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/device-registration-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/device-registration-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/device-registration-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/credentials-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/credentials-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/credentials-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/authentication-api/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/authentication-api/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/authentication-api/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/api/metrics/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/api/metrics/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/api/metrics/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/deployment/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/deployment/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/deployment/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/deployment/helm-based-deployment/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/deployment/openshift/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/deployment/openshift/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/deployment/openshift/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/deployment/create-kubernetes-cluster/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/deployment/create-kubernetes-cluster/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/deployment/resource-limitation/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/deployment/resource-limitation/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/architecture/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/architecture/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/architecture/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/architecture/component-view/component-view/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/architecture/component-view/component-view/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/</loc>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/architecture/auth/auth/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/architecture/auth/auth/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/categories/</loc>
+    <priority>0</priority>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/categories/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/categories/"
+                />
+  </url>
+  
+  <url>
+    <loc>https://www.eclipse.org/hono/docs/dev/tags/</loc>
+    <priority>0</priority>
+    <xhtml:link
+                rel="alternate"
+                hreflang="stable"
+                href="https://www.eclipse.org/hono/docs/tags/"
+                />
+    <xhtml:link
+                rel="alternate"
+                hreflang="dev"
+                href="https://www.eclipse.org/hono/docs/dev/tags/"
+                />
+  </url>
+  
+</urlset>
\ No newline at end of file
diff --git a/docs/dev/tags/index.html b/docs/dev/tags/index.html
new file mode 100644
index 0000000..c9763ef
--- /dev/null
+++ b/docs/dev/tags/index.html
@@ -0,0 +1,2144 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Tags :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Tags :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Tags :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/tags//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/tags/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/tags/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/tags/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            Tags
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Tags</h1>
+          
+
+        
+
+
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/tags/index.xml b/docs/dev/tags/index.xml
new file mode 100644
index 0000000..c87acb3
--- /dev/null
+++ b/docs/dev/tags/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+  <channel>
+    <title>Tags on Eclipse Hono&amp;trade; Vers.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/tags/</link>
+    <description>Recent content in Tags on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/tags/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/user-guide/amqp-adapter/index.html b/docs/dev/user-guide/amqp-adapter/index.html
new file mode 100644
index 0000000..3490d43
--- /dev/null
+++ b/docs/dev/user-guide/amqp-adapter/index.html
@@ -0,0 +1,2755 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>AMQP Adapter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="AMQP Adapter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="AMQP Adapter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/amqp-adapter/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/amqp-adapter/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/amqp-adapter/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/amqp-adapter.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > AMQP Adapter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <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="#connection-limits">Connection Limits</a></li>
+<li><a href="#message-limits">Message Limits</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></li>
+<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>AMQP Adapter</h1>
+          
+
+        
+
+
+<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>
+
+<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 a client certificate.</p>
+
+<p>In this guide, we will give examples for publishing telemetry and events for <em>authenticated</em> (using SASL PLAIN) and <em>unauthenticated</em> clients.</p>
+
+<p>NB: 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 <code>DEFAULT_TENANT</code> is assumed and the tenant-id can be omitted from the username.</p>
+
+<p>The adapter verifies the credentials provided by the client against the credentials that the <a href="#credentials-service-connection-configuration">Credentials Service</a> has on record for the device. If the credentials match, then authentication is successful and 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/dev/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/dev/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>
+
+<ul>
+<li>Adapter extracts the client certificate&rsquo;s <em>Issuer DN</em> and uses it to</li>
+<li>us the Tenant service to look up the tenant that the client belongs to. In order for the lookup to succeed, the tenant’s trust anchor needs to be configured by means of registering the <a href="/hono/docs/dev/api/tenant-api/#trusted-ca-format">trusted certificate authority</a>.</li>
+<li>If the lookup succeeds, the Tenant service returns the tenant, thus implicitly establishing the tenant that the device belongs to.</li>
+<li>Adapter validates the device’s client certificate using the registered trust anchor for the tenant.</li>
+<li>Finally, adapter authenticates the client certificate using Hono&rsquo;s credentials API. In this step, the adapter 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>
+</ul>
+
+<p>NB: The AMQP adapter needs to be configured for TLS in order to support this mechanism.</p>
+
+<h2 id="connection-limits">Connection Limits</h2>
+
+<p>After verifying the credentials, the number of existing connections is checked against the configured <a href="/hono/docs/dev/concepts/resource-limits/">resource-limits</a> by the AMQP adapter.  If the limit is exceeded then the connection request is not accepted.</p>
+
+<h2 id="message-limits">Message Limits</h2>
+
+<p>Before accepting any telemetry or event or command messages, the AMQP adapter verifies that the configured <a href="/hono/docs/dev/concepts/resource-limits/">message limit</a> is not exceeded. The incoming message is discarded if the limit is exceeded.</p>
+
+<h2 id="link-establishment">Link Establishment</h2>
+
+<p>Clients can publish all types of messages to the AMQP adapter via a single <em>anonymous</em> sender link. 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>
+<li><code>--message.address</code>: The AMQP 1.0 message address (default: <code>telemetry</code>)</li>
+<li><code>--message.payload</code>: The message payload body (default: <code>'{&quot;temp&quot;: 5}'</code>)</li>
+<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>
+
+<pre><code># 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>
+
+<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>
+</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>
+</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>
+</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 LEAS ONCE</em> or *AT MOST ONCE 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>
+<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>
+<li>Message properties:
+
+<ul>
+<li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</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>
+</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># 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>
+
+<p>Publish some JSON data for device <code>4711</code> using a client certificate for authentication:</p>
+
+<pre><code># 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>
+
+<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>
+<li>Message properties:
+
+<ul>
+<li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</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>
+</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># 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>
+
+<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://www.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># 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>
+
+<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>
+<li>Message properties:
+
+<ul>
+<li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</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>
+</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># 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>
+
+<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>
+<li>Message properties:
+
+<ul>
+<li>(optional) Arbitrary properties (content-type, correlation-id, &hellip;)</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>
+</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># 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>
+
+<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># 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>
+
+<p>The AMQP adapter supports 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/dev/api/event-api/#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/dev/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>
+
+<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/${tenant}/${device-id}</code> (unauthenticated device)</li>
+</ul>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>Previous versions of Hono used <code>control</code> instead of <code>command</code> as address prefix. Using the <code>control</code> prefix is still supported but deprecated.</div>
+</div>
+
+
+<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>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<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>
+</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>
+</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>
+</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/dev/api/command-and-control-api/">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># 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
+Device is now ready to receive commands (Press Ctrl + c to terminate)
+</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. To send a command to the device, open a new terminal shell and start the command application, as shown below:</p>
+
+<pre><code># 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
+&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):
+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>
+
+<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>
+
+<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>$ 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>
+
+<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>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/dev/api/tenant-api/#payload-format">tenant</a> or the <a href="/hono/docs/dev/api/device-registration-api/#payload-format">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>
+
+<h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
+
+<p>The adapter uses the <a href="/hono/docs/dev/api/tenant-api/#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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/user-guide/device-registry/index.html b/docs/dev/user-guide/device-registry/index.html
new file mode 100644
index 0000000..8b74e93
--- /dev/null
+++ b/docs/dev/user-guide/device-registry/index.html
@@ -0,0 +1,2698 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Device Registry :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Device Registry :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Device Registry :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/device-registry//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/device-registry/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/device-registry/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/device-registry/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/device-registry.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > Device Registry
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#managing-tenants">Managing Tenants</a>
+<ul>
+<li><a href="#add-a-tenant">Add a Tenant</a></li>
+<li><a href="#get-configuration-details-of-a-tenant">Get configuration details of a Tenant</a></li>
+<li><a href="#update-tenant">Update Tenant</a></li>
+<li><a href="#delete-tenant">Delete Tenant</a></li>
+</ul></li>
+<li><a href="#managing-device-registration-information">Managing Device Registration Information</a>
+<ul>
+<li><a href="#register-device">Register Device</a></li>
+<li><a href="#read-device">Read Device</a></li>
+<li><a href="#update-device">Update Device</a></li>
+<li><a href="#delete-device">Delete Device</a></li>
+</ul></li>
+<li><a href="#managing-credentials">Managing Credentials</a>
+<ul>
+<li><a href="#update-credentials-for-a-device">Update Credentials for a Device</a></li>
+<li><a href="#get-all-credentials-for-a-device">Get all Credentials for a Device</a></li>
+</ul></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Device Registry</h1>
+          
+
+        
+
+
+<p>The Device Registry component provides exemplary implementations of Hono&rsquo;s <a href="/hono/docs/dev/api/tenant-api/">Tenant API</a>, <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> and <a href="/hono/docs/dev/api/credentials-api/">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/latest/api/device-registry-v1.yaml">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>The following sections describe the resources representing the operations of the Tenant API and how they can be used to manage tenants.
+Please refer to the <a href="/hono/docs/latest/api/device-registry-v1.yaml">Device Registry HTTP API</a> for the specific elements that are explained in detail there.</p>
+
+<h3 id="add-a-tenant">Add a Tenant</h3>
+
+<ul>
+<li>URI: <code>/v1/tenants/${tenantId}</code></li>
+<li>Method: <code>POST</code></li>
+<li>Request Headers:
+
+<ul>
+<li>(required) <code>Content-Type</code>: <code>application/json</code> (no other type supported)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) A JSON object as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Tenant schema</a> of the HTTP API specification.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<li>201 (Created): Tenant has been added successfully under the resource indicated by <code>Location</code> header.</li>
+<li>400 (Bad Request): The tenant has not been created because the request was malformed, e .g. because the payload was malformed. The response body may contain hints regarding the cause of the problem.</li>
+<li>409 (Conflict): A tenant with the given <code>tenantId</code> already exists. The request has not been processed.</li>
+</ul></li>
+<li>Response Headers:
+
+<ul>
+<li><code>Location</code>: The URI under which the newly created resource can be accessed.</li>
+<li><code>ETag</code>: Version of the resource</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>The following commands add some tenants with different adapter configurations:</p>
+
+<p>Add a tenant that has all adapters set to enabled:</p>
+
+<pre><code>curl -i -X POST -H 'Content-Type: application/json' http://localhost:28080/v1/tenants/tenantAllAdapters
+
+HTTP/1.1 201 Created
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4
+Location: /v1/tenants/tenantAllAdapters
+Content-Type: application/json; charset=utf-8
+</code></pre>
+
+<p>Add a tenant that can only use the MQTT adapter:</p>
+
+<pre><code>curl -i -X POST -H 'Content-Type: application/json' --data-binary '{
+    &quot;adapters&quot; : [ {
+        &quot;type&quot; : &quot;hono-mqtt&quot;,
+        &quot;enabled&quot; : true
+        } ]
+  }' http://localhost:28080/v1/tenants/tenantMqttAdapter
+
+HTTP/1.1 201 Created
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4
+Location:  /v1/tenants/tenantMqttAdapter
+Content-Type: application/json; charset=utf-8
+
+{&quot;id&quot;: &quot;tenantMqttAdapter&quot;}
+</code></pre>
+
+<h3 id="get-configuration-details-of-a-tenant">Get configuration details of a Tenant</h3>
+
+<ul>
+<li>URI: <code>/v1/tenants/${tenantId}</code></li>
+<li>Method: <code>GET</code></li>
+<li>Status Codes:
+
+<ul>
+<li>200 (OK): A tenant with the given identifier has been found. The response body contains the tenant data as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Tenant schema</a> of the HTTP API specification.</li>
+<li>404 (Not Found): No tenant with the given identifier is registered.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>The following command retrieves the details for the tenant <code>tenantMqttAdapter</code>:</p>
+
+<pre><code>curl -i http://localhost:28080/v1/tenants/tenantMqttAdapter
+
+HTTP/1.1 200 OK
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4
+Content-Type: application/json; charset=utf-8
+
+{
+     &quot;enabled&quot; : true,
+     &quot;adapters&quot; : [ {
+         &quot;type&quot; : &quot;hono-mqtt&quot;,
+         &quot;enabled&quot; : true
+     } ]
+}
+</code></pre>
+
+<h3 id="update-tenant">Update Tenant</h3>
+
+<ul>
+<li>URI: <code>/v1/tenants/${tenantId}</code></li>
+<li>Method: <code>PUT</code></li>
+<li>Request Headers:
+
+<ul>
+<li>(required) <code>Content-Type</code>: <code>application/json</code> (no other type supported)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) A JSON object as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Tenant schema</a> of the HTTP API specification.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<li>204 (No Content): The tenant has been updated successfully.</li>
+<li>400 (Bad Request): The tenant has not been updated because the request was malformed, e .g. because the payload was malformed. The response body may contain hints regarding the cause of the problem.</li>
+<li>404 (Not Found): The request could not be processed because no tenant with the given identifier exists.</li>
+</ul></li>
+</ul>
+
+<p>This resource can be used to change the configuration of a particular tenant.</p>
+
+<p><strong>Example</strong></p>
+
+<p>The following command disables the MQTT adapter for devices that belong to the tenant <code>tenantMqttAdapter</code>:</p>
+
+<pre><code>curl -i -X PUT -H 'Content-Type: application/json' --data-binary '{
+      &quot;adapters&quot; : [ {
+          &quot;type&quot; : &quot;hono-mqtt&quot;,
+          &quot;enabled&quot; : true
+          } ]
+  }' http://localhost:28080/v1/tenants/tenantMqttAdapter
+
+HTTP/1.1 204 No Content
+ETag: 8919c736-30aa-40ce-a45a-830b90c4cd42
+Content-Length: 0
+</code></pre>
+
+<h3 id="delete-tenant">Delete Tenant</h3>
+
+<ul>
+<li>URI: <code>/v1/tenants/${tenantId}</code></li>
+<li>Method: <code>DELETE</code></li>
+<li>Status Codes:
+
+<ul>
+<li>204 (No Content): The tenant with the given identifier has been deleted.</li>
+<li>404 (Not Found): The request could not be processed because no tenant with the given identifier exists.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<pre><code>curl -i -X DELETE http://localhost:28080/v1/tenants/tenantMqttAdapter
+
+HTTP/1.1 204 No Content
+Content-Length: 0
+</code></pre>
+
+<h2 id="managing-device-registration-information">Managing Device Registration Information</h2>
+
+<p>The following sections describe the resources representing the operations of the <a href="/hono/docs/dev/api/device-registration-api/">Device Registration API</a> and how they can be used to manage device registration information.
+Please refer to the <a href="/hono/docs/latest/api/device-registry-v1.yaml">Device Registry HTTP API</a> for the specific elements that are explained in detail there.</p>
+
+<h3 id="register-device">Register Device</h3>
+
+<ul>
+<li>URI: <code>/v1/devices/${tenantId}/${deviceId}</code></li>
+<li>Method: <code>POST</code></li>
+<li>Headers:
+
+<ul>
+<li>(required) <code>Content-Type</code>: <code>application/json</code></li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) A JSON object as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Device schema</a> of the HTTP API specification.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<li>201 (Created): Device has been registered successfully under resource indicated by <code>Location</code> header.</li>
+<li>400 (Bad Request): Device has not been registered because the request was malformed, e .g. a required header is missing (the body may contain hints regarding the problem).</li>
+<li>409 (Conflict): There already exists a device with the given ID. The request has not been processed.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>The following command registers a device with ID <code>4711</code></p>
+
+<pre><code>curl -i -X POST -H 'Content-Type: application/json' --data-binary '{
+    &quot;ext&quot;: {
+        &quot;ep&quot;: &quot;IMEI4711&quot;
+    }
+}' http://localhost:28080/v1/devices/DEFAULT_TENANT/4711
+</code></pre>
+
+<p>The response will contain a <code>Location</code> header containing the resource path created for the device. In this example it will look
+like this:</p>
+
+<pre><code>HTTP/1.1 201 Created
+Location: /v1/devices/DEFAULT_TENANT/4711
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4
+
+{&quot;id&quot;: &quot;4711&quot;}
+</code></pre>
+
+<h3 id="read-device">Read Device</h3>
+
+<ul>
+<li>URI: <code>/v1/devices/${tenantId}/${deviceId}</code></li>
+<li>Method: <code>GET</code></li>
+<li>Status Codes:
+
+<ul>
+<li>200 (OK): A device with the given identifier has been found. The response body contains the registration information as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Device schema</a> of the HTTP API specification.</li>
+<li>404 (Not Found): No device with the given identifier is registered for the given tenant.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>The following command retrieves registration data for device <code>4711</code>:</p>
+
+<pre><code>curl -i http://localhost:28080/v1/devices/DEFAULT_TENANT/4711
+
+HTTP/1.1 200 OK
+Content-Type: application/json; charset=utf-8
+
+{
+    &quot;enabled&quot;: true,
+    &quot;ext&quot;: {
+        &quot;ep&quot;: &quot;IMEI4711&quot;
+    }
+}
+</code></pre>
+
+<h3 id="update-device">Update Device</h3>
+
+<ul>
+<li>URI: <code>/devices/v1/${tenantId}/${deviceId}</code></li>
+<li>Method: <code>PUT</code></li>
+<li>Headers:
+
+<ul>
+<li>(required) <code>Content-Type</code>: <code>application/json</code></li>
+</ul></li>
+<li>Parameters (encoded as a JSON object in the request body):</li>
+<li>Request Body:
+
+<ul>
+<li>(required) A JSON object as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Device schema</a> of the HTTP API specification. All existing registration information will be replaced by the data provided in the object.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<li>204 (No Content): Device registration data has been updated.</li>
+<li>400 (Bad Request): Device registration has not been updated because the request was malformed, e .g. a required header is missing (the body may contain hints regarding the problem).</li>
+<li>404 (Not Found): No device with the given identifier is registered for the given tenant.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<pre><code>curl -i -X PUT -H 'Content-Type: application/json' --data-binary '{
+    &quot;ext&quot;: {
+        &quot;ep&quot;: &quot;IMEI4711&quot;,
+        &quot;psk-id&quot;: &quot;psk4711&quot;
+    }
+}' http://localhost:28080/v1/devices/DEFAULT_TENANT/4711
+
+HTTP/1.1 204 No Content
+Content-Length: 0
+</code></pre>
+
+<h3 id="delete-device">Delete Device</h3>
+
+<ul>
+<li>URI: <code>/v1/devices/${tenantId}/${deviceId}</code></li>
+<li>Method: <code>DELETE</code></li>
+<li>Status Codes:
+
+<ul>
+<li>204 (No Content): Device registration has been deleted.</li>
+<li>404 (Not Found): No device with the given identifier is registered for the given tenant.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<pre><code>curl -i -X DELETE http://localhost:28080/v1/devices/DEFAULT_TENANT/4711
+
+HTTP/1.1 204 No Content
+Content-Length: 0
+</code></pre>
+
+<h2 id="managing-credentials">Managing Credentials</h2>
+
+<p>The following sections describe the resources representing the operations of the Credentials API and how they can be used to manage credentials for devices.
+Please refer to the <a href="/hono/docs/latest/api/device-registry-v1.yaml">Device Registry HTTP API</a> for the specific elements that are explained in detail there.</p>
+
+<h3 id="update-credentials-for-a-device">Update Credentials for a Device</h3>
+
+<ul>
+<li>URI: <code>/v1/credentials/${tenantId}/${deviceId}</code></li>
+<li>Method: <code>PUT</code></li>
+<li>Request Headers:
+
+<ul>
+<li>(required) <code>Content-Type</code>: <code>application/json</code> (no other type supported)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) A JSON object as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Credentials schema</a> of the HTTP API specification.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<li>204 (No Content): Credentials have been updated successfully.</li>
+<li>400 (Bad Request): The credentials have not been added because the request was malformed, e .g. because the payload did not contain required values. The response body may contain hints regarding the cause of the problem.</li>
+</ul></li>
+<li>Response Headers:
+
+<ul>
+<li><code>ETag</code>: Version of the resource</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>The following command adds some <code>hashed-password</code> credentials from a given plain text password for device <code>4710</code> using authentication identifier <code>sensor10</code>:</p>
+
+<pre><code>curl -i -X PUT -H 'Content-Type: application/json' --data-binary '[{
+  &quot;type&quot;: &quot;hashed-password&quot;,
+  &quot;auth-id&quot;: &quot;sensor10&quot;,
+  &quot;secrets&quot;: [{
+      &quot;pwd-plain&quot;: &quot;mylittlesecret&quot;
+  }]
+}]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4710
+
+HTTP/1.1 204 No Content
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4x
+</code></pre>
+
+<p>This uses a convenient option which lets the Device Registry do the hashing of the password. The following command retrieves the credentials that are stored by the Device Registry as a result of the command above:</p>
+
+<pre><code>curl -i http://localhost:28080/v1/credentials/DEFAULT_TENANT/4710
+
+HTTP/1.1 200 OK
+Content-Type: application/json; charset=utf-8
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4x
+
+[{
+  &quot;type&quot;: &quot;hashed-password&quot;,
+  &quot;auth-id&quot;: &quot;sensor10&quot;,
+  &quot;enabled&quot;: true,
+  &quot;secrets&quot;: [
+    {
+      &quot;pwd-hash&quot;: &quot;$2a$10$uc.qVDwXeDRE1DWa1sM9iOaY9wuevjfALGMtXmHKP.SJDEqg0q7M6&quot;,
+      &quot;hash-function&quot;: &quot;bcrypt&quot;
+    }
+  ]
+}]
+</code></pre>
+
+<p>The following commands add some <code>hashed-password</code> credentials for device <code>4720</code> using authentication identifier <code>sensor20</code>:</p>
+
+<pre><code>PWD_HASH=$(echo -n &quot;mylittlesecret&quot; | openssl dgst -binary -sha512 | base64 -w 0)
+curl -i -X PUT -H 'Content-Type: application/json' --data-binary '[{
+    &quot;type&quot;: &quot;hashed-password&quot;,
+    &quot;auth-id&quot;: &quot;sensor20&quot;,
+    &quot;secrets&quot;: [{
+        &quot;hash-function&quot; : &quot;sha-512&quot;,
+        &quot;pwd-hash&quot;: &quot;'$PWD_HASH'&quot;
+    }]
+  }]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720
+
+HTTP/1.1 204 No Content
+ETag: 02c99fb5-af8c-409f-8520-b405e224b27f
+</code></pre>
+
+<p>The following command adds an expiration date to the <code>hashed-password</code> credentials for authentication identifier <code>sensor20</code>:</p>
+
+<pre><code>PWD_HASH=$(echo -n &quot;mylittlesecret&quot; | openssl dgst -binary -sha512 | base64 -w 0)
+curl -i -X PUT -H 'Content-Type: application/json' --data-binary '{
+    &quot;device-id&quot;: &quot;4720&quot;,
+    &quot;type&quot;: &quot;hashed-password&quot;,
+    &quot;auth-id&quot;: &quot;sensor20&quot;,
+    &quot;secrets&quot;: [{
+        &quot;hash-function&quot; : &quot;sha-512&quot;,
+        &quot;pwd-hash&quot;: &quot;'$PWD_HASH'&quot;,
+        &quot;not-after&quot;: &quot;2018-01-01T00:00:00+01:00&quot;
+    }]
+}' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720
+
+HTTP/1.1 204 No Content
+ETag: becc93d7-ab0f-48ec-ad26-debdf339cbf4x
+</code></pre>
+
+<p>Multiple credentials of different type can be registered for the same authentication identifier.
+The following commands add <code>psk</code> credentials for the same device <code>4720</code> using authentication identifier <code>sensor20</code>:</p>
+
+<pre><code>SHARED_KEY=$(echo -n &quot;TheSharedKey&quot; | base64 -w 0)
+curl -i -X PUT -H 'Content-Type: application/json' --data-binary '[
+{
+    &quot;type&quot;: &quot;hashed-password&quot;,
+    &quot;auth-id&quot;: &quot;sensor20&quot;,
+    &quot;secrets&quot;: [{
+        &quot;hash-function&quot; : &quot;bcrypt&quot;,
+        &quot;pwd-hash&quot;: &quot;$2a$10$uc.qVDwXeDRE1DWa1sM9iOaY9wuevjfALGMtXmHKP.SJDEqg0q7M6&quot;
+    }]
+},
+{
+   &quot;device-id&quot;: &quot;4720&quot;,
+   &quot;type&quot;: &quot;psk&quot;,
+   &quot;auth-id&quot;: &quot;sensor20&quot;,
+   &quot;secrets&quot;: [{
+     &quot;key&quot; : &quot;'$SHARED_KEY'&quot;
+     }]
+  }]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720
+
+HTTP/1.1 204 No Content
+ETag: 122c971a-505a-4336-8f7d-640360e909bc
+</code></pre>
+
+<p>The following command deletes all credentials for device <code>4710</code>:</p>
+
+<pre><code>curl -i -X PUT -H 'Content-Type: application/json' --data-binary '[]' http://localhost:28080/v1/credentials/DEFAULT_TENANT/4710
+
+HTTP/1.1 204 No Content
+ETag: d383ba4d-1853-4d03-b322-b7ff5af05ae2
+</code></pre>
+
+<h3 id="get-all-credentials-for-a-device">Get all Credentials for a Device</h3>
+
+<ul>
+<li>URI: <code>/v1/credentials/${tenantId}/${deviceId}</code></li>
+<li>Method: <code>GET</code></li>
+<li>Status Codes:
+
+<ul>
+<li>200 (OK): Credentials for the device have been found, body contains the credentials. The response body contains the registration information as specified by <a href="/hono/docs/latest/api/device-registry-v1.yaml">Credentials schema</a> of the HTTP API specification.</li>
+<li>404 (Not Found): No credentials for the device are registered.</li>
+</ul></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>The following command retrieves credentials for device <code>4720</code>:</p>
+
+<pre><code>curl -i http://localhost:28080/v1/credentials/DEFAULT_TENANT/4720
+
+HTTP/1.1 200 OK
+Content-Type: application/json; charset=utf-8
+ETag: f3449b77-2c84-4b09-8d04-2b305876e0cb
+
+{[
+    {
+        &quot;auth-id&quot;: &quot;sensor20&quot;,
+        &quot;enabled&quot;: true,
+        &quot;secrets&quot;: [
+            {
+                &quot;hash-function&quot;: &quot;sha-512&quot;,
+                &quot;pwd-hash&quot;: &quot;tnxz0zDFs+pJGdCVSuoPE4TnamXsfIjBEOb0rg3e9WFD9KfbCkoRuwVZKgRWInfqp87kCLsoV/HEwdJwgw793Q==&quot;
+            }
+        ],
+        &quot;type&quot;: &quot;hashed-password&quot;
+    },
+    {
+        &quot;auth-id&quot;: &quot;sensor20&quot;,
+        &quot;enabled&quot;: true,
+        &quot;secrets&quot;: [
+            {
+                &quot;key&quot;: &quot;VGhlU2hhcmVkS2V5&quot;
+            }
+        ],
+        &quot;type&quot;: &quot;psk&quot;
+    }
+]}
+</code></pre>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/user-guide/http-adapter/index.html b/docs/dev/user-guide/http-adapter/index.html
new file mode 100644
index 0000000..e50955f
--- /dev/null
+++ b/docs/dev/user-guide/http-adapter/index.html
@@ -0,0 +1,3010 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>HTTP Adapter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="HTTP Adapter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="HTTP Adapter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/http-adapter/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/http-adapter/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/http-adapter/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/http-adapter.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > HTTP Adapter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <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="#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="#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>
+<li><a href="#downstream-meta-data">Downstream Meta Data</a></li>
+<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>HTTP Adapter</h1>
+          
+
+        
+
+
+<p>The HTTP protocol adapter exposes an HTTP based API for Eclipse Hono&trade;&rsquo;s Telemetry and Event endpoints.</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/dev/api/tenant-api/#request-payload">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>NB: The HTTP adapter needs to be <a href="/hono/docs/dev/admin-guide/secure_communication/#http-adapter">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/dev/admin-guide/http-adapter-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 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/dev/deployment/">Deployment Guides</a> comes pre-configured with the corresponding entities in its device registry component.
+Please refer to the <a href="/hono/docs/dev/api/credentials-api/#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/dev/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
+
+<h2 id="message-limits">Message Limits</h2>
+
+<p>Before accepting any telemetry or event or command messages, the HTTP adapter verifies that the configured <a href="/hono/docs/dev/concepts/resource-limits/">message limit</a> is not exceeded. If the limit is exceeded then the incoming message is discarded with the status code <code>429 Too Many Requests</code>.</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. (since 0.6)</li>
+<li>(optional) <code>QoS-Level</code>: The QoS level for publishing telemetry messages. Only QoS 1 is supported by the adapter. (since 0.6)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) Arbitrary payload encoded according to the given content type.</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. (since 0.7)</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. (since 0.6)</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. (since 0.6)</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>
+<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 missing, the adapter does not <em>guarantee</em> successful delivery to potential consumers. However, if the QoS-Level header is set to <code>1</code> (<em>at least once</em> semantics), then the adapter waits for the message to be delivered and accepted by a downstream peer before responding with a 2xx status code to the device.</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>
+<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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.<br /></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>
+
+<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>
+
+<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 202 Accepted
+Content-Length: 0
+</code></pre>
+
+<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
+hono-command: set
+hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92
+Content-Length: 23
+
+{
+  &quot;brightness&quot; : 87
+}
+</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:
+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/dev/admin-guide/secure_communication/#http-adapter">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 body.</li>
+<li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response. (since 0.6)</li>
+<li>(optional) <code>QoS-Level</code>: The QoS level for publishing telemetry messages. Only QoS 1 is supported by the adapter. (since 0.6)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) Arbitrary payload encoded according to the given content type.</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. (since 0.7)</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. (since 0.6)</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. (since 0.6)</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>
+<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 missing, the adapter does not <em>guarantee</em> successful delivery to potential consumers. However, if the QoS-Level header is set to <code>1</code> (<em>at least once</em> semantics), then the adapter waits for the message to be delivered and accepted by a downstream peer before responding with a 2xx status code to the device.</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>
+<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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.<br /></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>
+
+<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>
+
+<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 202 Accepted
+Content-Length: 0
+</code></pre>
+
+<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 -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
+hono-command: set
+hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92
+Content-Length: 23
+
+{
+  &quot;brightness&quot; : 87
+}
+</code></pre>
+
+<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>
+</ul></li>
+<li>Request Headers:
+
+<ul>
+<li>(required) <code>Content-Type</code>: The type of payload contained in the body.</li>
+<li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response. (since 0.6)</li>
+<li>(optional) <code>QoS-Level</code>: The QoS level for publishing telemetry messages. Only QoS 1 is supported by the adapter. (since 0.6)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) Arbitrary payload encoded according to the given content type.</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. (since 0.7)</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. (since 0.6)</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. (since 0.6)</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>
+<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 missing, the adapter does not <em>guarantee</em> successful delivery to potential consumers. However, if the QoS-Level header is set to <code>1</code> (<em>at least once</em> semantics), then the adapter waits for the message to be delivered and accepted by a downstream peer before responding with a 2xx status code to the device.</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>
+<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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the 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>
+
+<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://www.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="#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>
+
+<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 202 Accepted
+Content-Length: 0
+</code></pre>
+
+<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
+hono-command: set
+hono-cmd-req-id: 1010a7249aa5-f742-4376-8458-bbfc88c72d92
+Content-Length: 23
+
+{
+  &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>
+
+<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 body.</li>
+<li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response. (since 0.6)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) Arbitrary payload encoded according to the given content type.</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. (since 0.7)</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. (since 0.6)</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. (since 0.6)</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>
+<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 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/dev/api/event-api/#empty-notification">empty-notification</a>.</li>
+</ul></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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the 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>
+
+<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>
+
+<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>
+
+<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 body.</li>
+<li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response. (since 0.6)</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) Arbitrary payload encoded according to the given content type.</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. (since 0.7)</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. (since 0.6)</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. (since 0.6)</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>
+<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/dev/api/event-api/#empty-notification">empty-notification</a>.</li>
+</ul></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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the 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>
+
+<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>
+
+<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>
+
+<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 body.</li>
+<li>(optional) <code>hono-ttd</code>: The number of seconds the device will wait for the response.</li>
+</ul></li>
+<li>Request Body:
+
+<ul>
+<li>(required) Arbitrary payload encoded according to the given content type.</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. (since 0.7)</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. (since 0.6)</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. (since 0.6)</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>
+<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/dev/api/event-api/#empty-notification">empty-notification</a>.</li>
+</ul></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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the 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>
+
+<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://www.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="#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>
+
+<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="specifying-the-time-a-device-will-wait-for-a-response">Specifying the Time a Device will wait for a Response</h2>
+
+<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>
+
+<h3 id="using-an-http-header">Using an HTTP Header</h3>
+
+<p>The (optional) <em>hono-ttd</em> header can be set in requests for publishing telemetry data or events.</p>
+
+<p>Example:</p>
+
+<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>
+
+<h3 id="using-a-query-parameter">Using a Query Parameter</h3>
+
+<p>Alternatively the <em>hono-ttd</em> query parameter can be used:</p>
+
+<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>
+
+<h2 id="sending-a-response-to-a-command-authenticated-device">Sending a Response to a Command (authenticated Device)</h2>
+
+<ul>
+<li>Since: 0.7</li>
+<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. (since 0.7)</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>
+<li>Request Body:
+
+<ul>
+<li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<li>202 (Accepted): The response has been accepted and was successfully delivered to the application.</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>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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.<br /></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>
+</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>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
+    <div>Previous versions of Hono used <code>control</code> instead of <code>command</code> as prefix in the command response URI. Using the <code>control</code> prefix is still supported but deprecated.</div>
+</div>
+
+
+<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">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>
+
+<h2 id="sending-a-response-to-a-command-unauthenticated-device">Sending a Response to a Command (unauthenticated Device)</h2>
+
+<ul>
+<li>Since: 0.7</li>
+<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). (since 0.7)</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>
+<li>Request Body:
+
+<ul>
+<li>(optional) Arbitrary data representing the result of processing the command on the device.</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 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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the message limit for the current period is exceeded.<br /></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>
+</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>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
+    <div>Previous versions of Hono used <code>control</code> instead of <code>command</code> as prefix in the command response URI. Using the <code>control</code> prefix is still supported but deprecated.</div>
+</div>
+
+
+<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">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>
+
+<h2 id="sending-a-response-to-a-command-authenticated-gateway">Sending a Response to a Command (authenticated Gateway)</h2>
+
+<ul>
+<li>Since: 0.7</li>
+<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). (since 0.7)</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>
+<li>Request Body:
+
+<ul>
+<li>(optional) Arbitrary data representing the result of processing the command on the device.</li>
+</ul></li>
+<li>Status Codes:
+
+<ul>
+<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 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>
+<li>404 (Not Found): The request cannot be processed because the device is disabled or does not exist.</li>
+<li>429 (Too Many Requests): The request cannot be processed because the 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>
+</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://www.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="#device-registration-service-connection-configuration">configured Device Registration service</a>.</p>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
+    <div>Previous versions of Hono used <code>control</code> instead of <code>command</code> as prefix in the command response URI. Using the <code>control</code> prefix is still supported but deprecated.</div>
+</div>
+
+
+<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">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>
+
+<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>
+</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>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/dev/api/tenant-api/#payload-format">tenant</a> or the <a href="/hono/docs/dev/api/device-registration-api/#payload-format">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>
+
+<h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
+
+<p>The adapter uses the <a href="/hono/docs/dev/api/tenant-api/#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>
+</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>
+</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 [Command &amp; Control concept page]](/hono/docs/dev/concepts/command-and-control/) for a discussion of this parameter&rsquo;s purpose and usage.<br>If this property is not set for the <code>hono-http</code> adapter type, the adapter will try to read this property from the tenant level configuration.</td>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/user-guide/index.html b/docs/dev/user-guide/index.html
new file mode 100644
index 0000000..0bc64dd
--- /dev/null
+++ b/docs/dev/user-guide/index.html
@@ -0,0 +1,2163 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>User Guide :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="User Guide :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="User Guide :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        active
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/_index.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > User Guide
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+              </div>
+            </div>
+            
+
+        
+          <div id="chapter">
+        
+        <div id="body-inner">
+          
+
+        
+
+
+
+
+<h1 id="user-guide">User Guide</h1>
+
+<p>Learn how to quickly send data with Hono&trade; from devices to business applications &ndash; as well as commands the other way round.</p>
+
+
+<footer class=" footline" >
+	
+</footer>
+
+        
+            </div> 
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
diff --git a/docs/dev/user-guide/index.xml b/docs/dev/user-guide/index.xml
new file mode 100644
index 0000000..af0ec32
--- /dev/null
+++ b/docs/dev/user-guide/index.xml
@@ -0,0 +1,78 @@
+<?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.: dev</title>
+    <link>https://www.eclipse.org/hono/docs/dev/user-guide/</link>
+    <description>Recent content in User Guide on Eclipse Hono&amp;trade; Vers.: dev</description>
+    <generator>Hugo -- gohugo.io</generator>
+    <language>en-us</language>
+    
+	<atom:link href="https://www.eclipse.org/hono/docs/dev/user-guide/index.xml" rel="self" type="application/rss+xml" />
+    
+    
+    <item>
+      <title>Device Registry</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/device-registry/</guid>
+      <description>&lt;p&gt;The Device Registry component provides exemplary implementations of Hono&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/tenant-api/&#34;&gt;Tenant API&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/device-registration-api/&#34;&gt;Device Registration API&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/dev/api/credentials-api/&#34;&gt;Credentials API&lt;/a&gt;.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>HTTP Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/http-adapter/</guid>
+      <description>&lt;p&gt;The HTTP protocol adapter exposes an HTTP based API for Eclipse Hono&amp;trade;&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>MQTT Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter/</guid>
+      <description>&lt;p&gt;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.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>AMQP Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/amqp-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/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>
+    </item>
+    
+    <item>
+      <title>Kura Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/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>
+    </item>
+    
+    <item>
+      <title>Sigfox Adapter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter/</guid>
+      <description>&lt;p&gt;The Sigfox protocol adapter exposes an HTTP endpoint for connecting up with
+the Sigfox backend for publishing telemetry, events and use command &amp;amp; control.&lt;/p&gt;</description>
+    </item>
+    
+    <item>
+      <title>Load Tests with JMeter</title>
+      <link>https://www.eclipse.org/hono/docs/dev/user-guide/jmeter_load_tests/</link>
+      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+      
+      <guid>https://www.eclipse.org/hono/docs/dev/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>
+    </item>
+    
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/dev/user-guide/jmeter-overview.odg b/docs/dev/user-guide/jmeter-overview.odg
new file mode 100644
index 0000000..46b0c5e
--- /dev/null
+++ b/docs/dev/user-guide/jmeter-overview.odg
Binary files differ
diff --git a/docs/dev/user-guide/jmeter-overview.svg b/docs/dev/user-guide/jmeter-overview.svg
new file mode 100644
index 0000000..73965a8
--- /dev/null
+++ b/docs/dev/user-guide/jmeter-overview.svg
@@ -0,0 +1,527 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="192mm" height="134mm" viewBox="0 0 19200 13400" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+  <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+   <rect x="0" y="0" width="19200" height="13400"/>
+  </clipPath>
+  <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+   <rect x="19" y="13" width="19162" height="13374"/>
+  </clipPath>
+ </defs>
+ <defs>
+  <font id="EmbeddedFont_1" horiz-adv-x="2048">
+   <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+   <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+   <glyph unicode="w" horiz-adv-x="1509" d="M 1174,0 L 965,0 776,765 740,934 C 734,904 725,861 712,805 699,748 631,480 508,0 L 300,0 -3,1082 175,1082 358,347 C 363,331 377,265 401,149 L 418,223 644,1082 837,1082 1026,339 1072,149 1103,288 1308,1082 1484,1082 1174,0 Z"/>
+   <glyph unicode="v" horiz-adv-x="1033" d="M 613,0 L 400,0 7,1082 199,1082 437,378 C 446,351 469,272 506,141 L 541,258 580,376 826,1082 1017,1082 613,0 Z"/>
+   <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+   <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+   <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+   <glyph unicode="r" horiz-adv-x="530" d="M 142,0 L 142,830 C 142,906 140,990 136,1082 L 306,1082 C 311,959 314,886 314,861 L 318,861 C 347,954 380,1017 417,1051 454,1085 507,1102 575,1102 599,1102 623,1099 648,1092 L 648,927 C 624,934 592,937 552,937 477,937 420,905 381,841 342,776 322,684 322,564 L 322,0 142,0 Z"/>
+   <glyph unicode="q" horiz-adv-x="927" d="M 484,-20 C 347,-20 246,26 182,119 118,212 86,351 86,536 86,913 219,1102 484,1102 566,1102 634,1088 687,1059 740,1030 785,981 821,914 L 823,914 C 823,934 824,969 827,1018 830,1067 832,1093 835,1096 L 1008,1096 C 1003,1057 1001,958 1001,801 L 1001,-425 821,-425 821,14 825,178 823,178 C 787,107 743,56 690,26 637,-5 569,-20 484,-20 Z M 821,554 C 821,695 798,799 752,867 706,935 633,969 532,969 441,969 375,935 335,867 295,799 275,691 275,542 275,391 295,282 336,217 376,152 441,119 530,119 632,119 706,155 752,228 798,301 821,409 821,554 Z"/>
+   <glyph unicode="p" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 488,-20 376,43 319,168 L 314,168 C 317,163 318,106 318,-2 L 318,-425 138,-425 138,861 C 138,972 136,1046 132,1082 L 306,1082 C 307,1079 308,1070 309,1054 310,1037 312,1012 314,978 315,944 316,921 316,908 L 320,908 C 352,975 394,1024 447,1055 500,1086 569,1101 655,1101 788,1101 888,1056 954,967 1020,878 1053,737 1053,546 Z M 864,542 C 864,693 844,800 803,865 762,930 698,962 609,962 538,962 482,947 442,917 401,887 371,840 350,777 329,713 318,630 318,528 318,386 341,281 386,214 431,147 505,113 607,113 696,113 762,146 803,212 844,277 864,387 864,542 Z"/>
+   <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+   <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+   <glyph unicode="m" horiz-adv-x="1457" d="M 768,0 L 768,686 C 768,791 754,863 725,903 696,943 645,963 570,963 493,963 433,934 388,875 343,816 321,734 321,627 L 321,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 356,974 400,1027 450,1057 500,1087 561,1102 633,1102 715,1102 780,1086 828,1053 875,1020 908,968 927,897 L 930,897 C 967,970 1013,1022 1066,1054 1119,1086 1183,1102 1258,1102 1367,1102 1447,1072 1497,1013 1546,954 1571,856 1571,721 L 1571,0 1393,0 1393,686 C 1393,791 1379,863 1350,903 1321,943 1270,963 1195,963 1116,963 1055,934 1012,876 968,817 946,734 946,627 L 946,0 768,0 Z"/>
+   <glyph unicode="l" horiz-adv-x="187" d="M 138,0 L 138,1484 318,1484 318,0 138,0 Z"/>
+   <glyph unicode="k" horiz-adv-x="901" d="M 816,0 L 450,494 318,385 318,0 138,0 138,1484 318,1484 318,557 793,1082 1004,1082 565,617 1027,0 816,0 Z"/>
+   <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+   <glyph unicode="h" horiz-adv-x="874" d="M 317,897 C 356,968 402,1020 457,1053 511,1086 580,1102 663,1102 780,1102 867,1073 923,1015 978,956 1006,858 1006,721 L 1006,0 825,0 825,686 C 825,762 818,819 804,856 790,893 767,920 735,937 703,954 659,963 602,963 517,963 450,934 399,875 348,816 322,737 322,638 L 322,0 142,0 142,1484 322,1484 322,1098 C 322,1057 321,1015 319,972 316,929 315,904 314,897 L 317,897 Z"/>
+   <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+   <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+   <glyph unicode="d" horiz-adv-x="927" d="M 821,174 C 788,105 744,55 689,25 634,-5 565,-20 484,-20 347,-20 247,26 183,118 118,210 86,349 86,536 86,913 219,1102 484,1102 566,1102 634,1087 689,1057 744,1027 788,979 821,914 L 823,914 821,1035 821,1484 1001,1484 1001,223 C 1001,110 1003,36 1007,0 L 835,0 C 833,11 831,35 829,74 826,113 825,146 825,174 L 821,174 Z M 275,542 C 275,391 295,282 335,217 375,152 440,119 530,119 632,119 706,154 752,225 798,296 821,405 821,554 821,697 798,802 752,869 706,936 633,969 532,969 441,969 376,936 336,869 295,802 275,693 275,542 Z"/>
+   <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+   <glyph unicode="a" horiz-adv-x="1060" d="M 414,-20 C 305,-20 224,9 169,66 114,123 87,202 87,302 87,414 124,500 198,560 271,620 390,652 554,656 L 797,660 797,719 C 797,807 778,870 741,908 704,946 645,965 565,965 484,965 426,951 389,924 352,897 330,853 323,793 L 135,810 C 166,1005 310,1102 569,1102 705,1102 807,1071 876,1009 945,946 979,856 979,738 L 979,272 C 979,219 986,179 1000,152 1014,125 1041,111 1080,111 1097,111 1117,113 1139,118 L 1139,6 C 1094,-5 1047,-10 1000,-10 933,-10 885,8 855,43 824,78 807,132 803,207 L 797,207 C 751,124 698,66 637,32 576,-3 501,-20 414,-20 Z M 455,115 C 521,115 580,130 631,160 682,190 723,231 753,284 782,336 797,390 797,445 L 797,534 600,530 C 515,529 451,520 408,504 364,488 330,463 307,430 284,397 272,353 272,299 272,240 288,195 320,163 351,131 396,115 455,115 Z"/>
+   <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+   <glyph unicode="S" horiz-adv-x="1192" d="M 1272,389 C 1272,259 1221,158 1120,87 1018,16 875,-20 690,-20 347,-20 148,99 93,338 L 278,375 C 299,290 345,228 414,189 483,149 578,129 697,129 820,129 916,150 983,193 1050,235 1083,297 1083,379 1083,425 1073,462 1052,491 1031,520 1001,543 963,562 925,581 880,596 827,609 774,622 716,635 652,650 541,675 456,699 399,724 341,749 295,776 262,807 229,837 203,872 186,913 168,954 159,1000 159,1053 159,1174 205,1267 298,1332 390,1397 522,1430 694,1430 854,1430 976,1406 1061,1357 1146,1308 1205,1224 1239,1106 L 1051,1073 C 1030,1148 991,1202 933,1236 875,1269 795,1286 692,1286 579,1286 493,1267 434,1230 375,1193 345,1137 345,1063 345,1020 357,984 380,956 403,927 436,903 479,884 522,864 609,840 738,811 781,801 825,791 868,781 911,770 952,758 991,744 1030,729 1067,712 1102,693 1136,674 1166,650 1191,622 1216,594 1236,561 1251,523 1265,485 1272,440 1272,389 Z"/>
+   <glyph unicode="R" horiz-adv-x="1244" d="M 1164,0 L 798,585 359,585 359,0 168,0 168,1409 831,1409 C 990,1409 1112,1374 1199,1303 1285,1232 1328,1133 1328,1006 1328,901 1298,813 1237,742 1176,671 1091,626 984,607 L 1384,0 1164,0 Z M 1136,1004 C 1136,1086 1108,1149 1053,1192 997,1235 917,1256 812,1256 L 359,1256 359,736 820,736 C 921,736 999,760 1054,807 1109,854 1136,919 1136,1004 Z"/>
+   <glyph unicode="Q" horiz-adv-x="1430" d="M 1495,711 C 1495,512 1445,349 1345,221 1245,93 1106,17 928,-6 955,-90 991,-151 1036,-188 1080,-225 1136,-244 1204,-244 1241,-244 1279,-240 1319,-231 L 1319,-365 C 1257,-380 1198,-387 1141,-387 1040,-387 958,-358 893,-302 828,-244 774,-149 733,-16 601,-9 487,24 392,85 296,145 223,229 173,337 122,444 97,569 97,711 97,936 159,1113 282,1240 405,1367 577,1430 797,1430 940,1430 1065,1402 1170,1345 1275,1288 1356,1205 1412,1096 1467,987 1495,859 1495,711 Z M 1300,711 C 1300,886 1256,1024 1169,1124 1081,1224 957,1274 797,1274 636,1274 511,1225 423,1126 335,1027 291,889 291,711 291,534 336,394 425,291 514,187 637,135 795,135 958,135 1083,185 1170,286 1257,386 1300,528 1300,711 Z"/>
+   <glyph unicode="P" horiz-adv-x="1112" d="M 1258,985 C 1258,852 1215,746 1128,667 1041,588 922,549 773,549 L 359,549 359,0 168,0 168,1409 761,1409 C 919,1409 1041,1372 1128,1298 1215,1224 1258,1120 1258,985 Z M 1066,983 C 1066,1165 957,1256 738,1256 L 359,1256 359,700 746,700 C 959,700 1066,794 1066,983 Z"/>
+   <glyph unicode="N" horiz-adv-x="1165" d="M 1082,0 L 328,1200 333,1103 338,936 338,0 168,0 168,1409 390,1409 1152,201 C 1144,332 1140,426 1140,485 L 1140,1409 1312,1409 1312,0 1082,0 Z"/>
+   <glyph unicode="M" horiz-adv-x="1377" d="M 1366,0 L 1366,940 C 1366,1044 1369,1144 1375,1240 1342,1121 1313,1027 1287,960 L 923,0 789,0 420,960 364,1130 331,1240 334,1129 338,940 338,0 168,0 168,1409 419,1409 794,432 C 807,393 820,351 833,306 845,261 853,228 857,208 862,235 874,275 891,330 908,384 919,418 925,432 L 1293,1409 1538,1409 1538,0 1366,0 Z"/>
+   <glyph unicode="J" horiz-adv-x="848" d="M 457,-20 C 218,-20 77,103 32,350 L 219,381 C 231,304 258,243 300,200 342,157 395,135 458,135 527,135 582,159 622,207 662,254 682,324 682,416 L 682,1253 411,1253 411,1409 872,1409 872,420 C 872,283 835,176 761,98 687,19 586,-20 457,-20 Z"/>
+   <glyph unicode="I" horiz-adv-x="213" d="M 189,0 L 189,1409 380,1409 380,0 189,0 Z"/>
+   <glyph unicode="H" horiz-adv-x="1165" d="M 1121,0 L 1121,653 359,653 359,0 168,0 168,1409 359,1409 359,813 1121,813 1121,1409 1312,1409 1312,0 1121,0 Z"/>
+   <glyph unicode="A" horiz-adv-x="1377" d="M 1167,0 L 1006,412 364,412 202,0 4,0 579,1409 796,1409 1362,0 1167,0 Z M 685,1265 L 676,1237 C 659,1182 635,1111 602,1024 L 422,561 949,561 768,1026 C 749,1072 731,1124 712,1182 L 685,1265 Z"/>
+   <glyph unicode="1" horiz-adv-x="927" d="M 156,0 L 156,153 515,153 515,1237 197,1010 197,1180 530,1409 696,1409 696,153 1039,153 1039,0 156,0 Z"/>
+   <glyph unicode="0" horiz-adv-x="980" d="M 1059,705 C 1059,470 1018,290 935,166 852,42 729,-20 567,-20 405,-20 283,42 202,165 121,288 80,468 80,705 80,947 120,1128 199,1249 278,1370 402,1430 573,1430 739,1430 862,1369 941,1247 1020,1125 1059,944 1059,705 Z M 876,705 C 876,908 853,1056 806,1147 759,1238 681,1284 573,1284 462,1284 383,1239 335,1149 286,1059 262,911 262,705 262,505 287,359 336,266 385,173 462,127 569,127 675,127 753,174 802,269 851,364 876,509 876,705 Z"/>
+   <glyph unicode="." horiz-adv-x="213" d="M 187,0 L 187,219 382,219 382,0 187,0 Z"/>
+   <glyph unicode=" " horiz-adv-x="556"/>
+  </font>
+ </defs>
+ <defs class="TextShapeIndex">
+  <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+  <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+  </g>
+  <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+  </g>
+  <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+  </g>
+  <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+  </g>
+  <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+  </g>
+  <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+  </g>
+  <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+  </g>
+  <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+  </g>
+  <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+  </g>
+  <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+   <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+  </g>
+ </defs>
+ <defs class="TextEmbeddedBitmaps"/>
+ <g>
+  <g id="id2" class="Master_Slide">
+   <g id="bg-id2" class="Background"/>
+   <g id="bo-id2" class="BackgroundObjects"/>
+  </g>
+ </g>
+ <g class="SlideGroup">
+  <g>
+   <g id="container-id1">
+    <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+     <g class="Page">
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id3">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4886" y="1386" width="9329" height="4729"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9550,6100 L 9495,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9459,6100 L 9404,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9369,6100 L 9313,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9278,6100 L 9223,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9187,6100 L 9132,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9096,6100 L 9041,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9006,6100 L 8951,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8915,6100 L 8860,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8824,6100 L 8769,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8734,6100 L 8678,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8643,6100 L 8588,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8552,6100 L 8497,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8461,6100 L 8406,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8371,6100 L 8315,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8280,6100 L 8225,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8189,6100 L 8134,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8098,6100 L 8043,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8008,6100 L 7953,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7917,6100 L 7862,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7826,6100 L 7771,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7736,6100 L 7680,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7645,6100 L 7590,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7554,6100 L 7499,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7463,6100 L 7408,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7373,6100 L 7318,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7282,6100 L 7227,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7191,6100 L 7136,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7101,6100 L 7045,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7010,6100 L 6955,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6919,6100 L 6864,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6828,6100 L 6773,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6738,6100 L 6683,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6647,6100 L 6592,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6556,6100 L 6501,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6466,6100 L 6410,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6375,6100 L 6320,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6284,6100 L 6229,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6193,6100 L 6138,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6103,6100 L 6047,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6012,6100 L 5957,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5921,6100 L 5866,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5830,6100 L 5775,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5740,6100 L 5685,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5649,6100 L 5594,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5558,6100 L 5503,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5468,6100 L 5412,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5377,6100 L 5322,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5286,6100 L 5231,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5195,6100 L 5140,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5105,6100 L 5050,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5014,6100 L 4959,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4923,6100 L 4900,6100 4900,6068"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,6033 L 4900,5977"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5942 L 4900,5887"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5851 L 4900,5796"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5760 L 4900,5705"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5670 L 4900,5615"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5579 L 4900,5524"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5488 L 4900,5433"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5398 L 4900,5342"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5307 L 4900,5252"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5216 L 4900,5161"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5125 L 4900,5070"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,5035 L 4900,4979"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4944 L 4900,4889"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4853 L 4900,4798"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4762 L 4900,4707"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4672 L 4900,4617"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4581 L 4900,4526"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4490 L 4900,4435"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4400 L 4900,4344"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4309 L 4900,4254"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4218 L 4900,4163"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4127 L 4900,4072"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,4037 L 4900,3982"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3946 L 4900,3891"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3855 L 4900,3800"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3765 L 4900,3709"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3674 L 4900,3619"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3583 L 4900,3528"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3492 L 4900,3437"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3402 L 4900,3347"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3311 L 4900,3256"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3220 L 4900,3165"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3130 L 4900,3074"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,3039 L 4900,2984"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2948 L 4900,2893"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2857 L 4900,2802"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2767 L 4900,2711"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2676 L 4900,2621"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2585 L 4900,2530"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2494 L 4900,2439"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2404 L 4900,2349"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2313 L 4900,2258"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2222 L 4900,2167"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2132 L 4900,2076"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,2041 L 4900,1986"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1950 L 4900,1895"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1859 L 4900,1804"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1769 L 4900,1714"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1678 L 4900,1623"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1587 L 4900,1532"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1497 L 4900,1441"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4900,1406 L 4900,1400 4949,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 4985,1400 L 5040,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5076,1400 L 5131,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5166,1400 L 5221,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5257,1400 L 5312,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5348,1400 L 5403,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5438,1400 L 5494,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5529,1400 L 5584,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5620,1400 L 5675,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5711,1400 L 5766,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5801,1400 L 5857,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5892,1400 L 5947,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 5983,1400 L 6038,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6074,1400 L 6129,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6164,1400 L 6219,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6255,1400 L 6310,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6346,1400 L 6401,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6436,1400 L 6492,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6527,1400 L 6582,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6618,1400 L 6673,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6709,1400 L 6764,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6799,1400 L 6854,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6890,1400 L 6945,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 6981,1400 L 7036,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7071,1400 L 7127,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7162,1400 L 7217,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7253,1400 L 7308,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7344,1400 L 7399,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7434,1400 L 7489,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7525,1400 L 7580,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7616,1400 L 7671,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7706,1400 L 7762,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7797,1400 L 7852,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7888,1400 L 7943,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 7979,1400 L 8034,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8069,1400 L 8125,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8160,1400 L 8215,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8251,1400 L 8306,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8342,1400 L 8397,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8432,1400 L 8487,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8523,1400 L 8578,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8614,1400 L 8669,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8704,1400 L 8760,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8795,1400 L 8850,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8886,1400 L 8941,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 8977,1400 L 9032,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9067,1400 L 9122,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9158,1400 L 9213,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9249,1400 L 9304,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9339,1400 L 9395,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9430,1400 L 9485,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9521,1400 L 9576,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9612,1400 L 9667,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9702,1400 L 9757,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9793,1400 L 9848,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9884,1400 L 9939,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9974,1400 L 10030,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10065,1400 L 10120,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10156,1400 L 10211,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10247,1400 L 10302,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10337,1400 L 10393,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10428,1400 L 10483,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10519,1400 L 10574,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10610,1400 L 10665,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10700,1400 L 10755,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10791,1400 L 10846,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10882,1400 L 10937,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10972,1400 L 11028,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11063,1400 L 11118,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11154,1400 L 11209,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11245,1400 L 11300,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11335,1400 L 11390,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11426,1400 L 11481,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11517,1400 L 11572,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11607,1400 L 11663,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11698,1400 L 11753,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11789,1400 L 11844,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11880,1400 L 11935,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11970,1400 L 12025,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12061,1400 L 12116,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12152,1400 L 12207,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12242,1400 L 12298,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12333,1400 L 12388,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12424,1400 L 12479,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12515,1400 L 12570,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12605,1400 L 12661,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12696,1400 L 12751,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12787,1400 L 12842,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12878,1400 L 12933,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12968,1400 L 13023,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13059,1400 L 13114,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13150,1400 L 13205,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13240,1400 L 13296,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13331,1400 L 13386,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13422,1400 L 13477,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13513,1400 L 13568,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13603,1400 L 13658,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13694,1400 L 13749,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13785,1400 L 13840,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13875,1400 L 13931,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13966,1400 L 14021,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14057,1400 L 14112,1400"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14148,1400 L 14200,1400 14200,1403"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1438 L 14200,1493"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1529 L 14200,1584"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1620 L 14200,1675"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1710 L 14200,1766"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1801 L 14200,1856"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1892 L 14200,1947"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,1983 L 14200,2038"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2073 L 14200,2129"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2164 L 14200,2219"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2255 L 14200,2310"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2346 L 14200,2401"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2436 L 14200,2491"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2527 L 14200,2582"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2618 L 14200,2673"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2708 L 14200,2764"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2799 L 14200,2854"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2890 L 14200,2945"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,2981 L 14200,3036"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3071 L 14200,3126"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3162 L 14200,3217"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3253 L 14200,3308"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3343 L 14200,3399"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3434 L 14200,3489"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3525 L 14200,3580"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3616 L 14200,3671"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3706 L 14200,3761"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3797 L 14200,3852"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3888 L 14200,3943"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,3978 L 14200,4034"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4069 L 14200,4124"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4160 L 14200,4215"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4251 L 14200,4306"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4341 L 14200,4397"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4432 L 14200,4487"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4523 L 14200,4578"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4614 L 14200,4669"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4704 L 14200,4759"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4795 L 14200,4850"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4886 L 14200,4941"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,4976 L 14200,5032"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5067 L 14200,5122"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5158 L 14200,5213"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5249 L 14200,5304"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5339 L 14200,5394"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5430 L 14200,5485"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5521 L 14200,5576"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5611 L 14200,5667"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5702 L 14200,5757"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5793 L 14200,5848"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5884 L 14200,5939"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,5974 L 14200,6029"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14200,6065 L 14200,6100 14180,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14144,6100 L 14089,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 14054,6100 L 13998,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13963,6100 L 13908,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13872,6100 L 13817,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13781,6100 L 13726,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13691,6100 L 13635,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13600,6100 L 13545,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13509,6100 L 13454,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13418,6100 L 13363,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13328,6100 L 13273,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13237,6100 L 13182,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13146,6100 L 13091,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 13056,6100 L 13000,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12965,6100 L 12910,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12874,6100 L 12819,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12783,6100 L 12728,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12693,6100 L 12638,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12602,6100 L 12547,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12511,6100 L 12456,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12421,6100 L 12365,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12330,6100 L 12275,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12239,6100 L 12184,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12148,6100 L 12093,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 12058,6100 L 12003,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11967,6100 L 11912,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11876,6100 L 11821,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11786,6100 L 11730,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11695,6100 L 11640,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11604,6100 L 11549,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11513,6100 L 11458,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11423,6100 L 11367,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11332,6100 L 11277,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11241,6100 L 11186,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11150,6100 L 11095,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 11060,6100 L 11005,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10969,6100 L 10914,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10878,6100 L 10823,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10788,6100 L 10732,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10697,6100 L 10642,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10606,6100 L 10551,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10515,6100 L 10460,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10425,6100 L 10370,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10334,6100 L 10279,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10243,6100 L 10188,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10153,6100 L 10097,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 10062,6100 L 10007,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9971,6100 L 9916,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9880,6100 L 9825,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9790,6100 L 9735,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9699,6100 L 9644,6100"/>
+        <path fill="none" stroke="rgb(178,178,178)" stroke-width="28" stroke-linejoin="round" d="M 9608,6100 L 9553,6100"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="494px" font-weight="400"><tspan class="TextPosition" x="7783" y="1988"><tspan fill="rgb(153,153,153)" stroke="none">JMeter Instance</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id4">
+        <rect class="BoundingBox" stroke="none" fill="none" x="10099" y="2799" width="3703" height="3003"/>
+        <path fill="rgb(255,149,14)" stroke="none" d="M 11950,5800 L 10100,5800 10100,2800 13800,2800 13800,5800 11950,5800 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 11950,5800 L 10100,5800 10100,2800 13800,2800 13800,5800 11950,5800 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="11442" y="3974"><tspan fill="rgb(0,0,0)" stroke="none">Hono</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="11114" y="4448"><tspan fill="rgb(0,0,0)" stroke="none">Receiver</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="11161" y="4922"><tspan fill="rgb(0,0,0)" stroke="none">Sampler</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id5">
+        <rect class="BoundingBox" stroke="none" fill="none" x="5299" y="4399" width="4503" height="1403"/>
+        <path fill="rgb(221,221,221)" stroke="none" d="M 7550,5800 L 5300,5800 5300,4400 9800,4400 9800,5800 7550,5800 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 7550,5800 L 5300,5800 5300,4400 9800,4400 9800,5800 7550,5800 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="5599" y="5248"><tspan fill="rgb(0,0,0)" stroke="none">MQTT JMeter Plugin</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id6">
+        <rect class="BoundingBox" stroke="none" fill="none" x="5299" y="2799" width="4503" height="1403"/>
+        <path fill="rgb(221,221,221)" stroke="none" d="M 7550,4200 L 5300,4200 5300,2800 9800,2800 9800,4200 7550,4200 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 7550,4200 L 5300,4200 5300,2800 9800,2800 9800,4200 7550,4200 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="6903" y="3411"><tspan fill="rgb(0,0,0)" stroke="none">JMeter</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="6153" y="3885"><tspan fill="rgb(0,0,0)" stroke="none">HTTP Sampler</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id7">
+        <rect class="BoundingBox" stroke="none" fill="none" x="5399" y="9599" width="4403" height="1103"/>
+        <path fill="rgb(255,149,14)" stroke="none" d="M 7600,10700 L 5400,10700 5400,9600 9800,9600 9800,10700 7600,10700 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 7600,10700 L 5400,10700 5400,9600 9800,9600 9800,10700 7600,10700 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="494px" font-weight="400"><tspan class="TextPosition" x="6038" y="10322"><tspan fill="rgb(0,0,0)" stroke="none">HTTP Adapter</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id8">
+        <rect class="BoundingBox" stroke="none" fill="none" x="12599" y="8099" width="4303" height="2603"/>
+        <path fill="rgb(221,221,221)" stroke="none" d="M 14750,10700 L 12600,10700 12600,8100 16900,8100 16900,10700 14750,10700 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 14750,10700 L 12600,10700 12600,8100 16900,8100 16900,10700 14750,10700 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="494px" font-weight="400"><tspan class="TextPosition" x="14022" y="9017"><tspan fill="rgb(0,0,0)" stroke="none">AMQP</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="494px" font-weight="400"><tspan class="TextPosition" x="13552" y="9572"><tspan fill="rgb(0,0,0)" stroke="none">Messaging</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="494px" font-weight="400"><tspan class="TextPosition" x="13842" y="10127"><tspan fill="rgb(0,0,0)" stroke="none">Network</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id9">
+        <rect class="BoundingBox" stroke="none" fill="none" x="3799" y="3499" width="1602" height="6802"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 5300,3500 L 3800,3500 3800,10150 4970,10150"/>
+        <path fill="rgb(0,0,0)" stroke="none" d="M 5400,10150 L 4950,10000 4950,10300 5400,10150 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id10">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4499" y="5099" width="902" height="3752"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 5300,5100 L 4500,5100 4500,8700 4970,8700"/>
+        <path fill="rgb(0,0,0)" stroke="none" d="M 5400,8700 L 4950,8550 4950,8850 5400,8700 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id11">
+        <rect class="BoundingBox" stroke="none" fill="none" x="9799" y="9250" width="2802" height="902"/>
+        <path fill="none" stroke="rgb(255,149,14)" d="M 9800,10150 L 11200,10150 11200,9400 12170,9400"/>
+        <path fill="rgb(255,149,14)" stroke="none" d="M 12600,9400 L 12150,9250 12150,9550 12600,9400 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id12">
+        <rect class="BoundingBox" stroke="none" fill="none" x="9799" y="8699" width="2802" height="852"/>
+        <path fill="none" stroke="rgb(255,149,14)" d="M 9800,8700 L 11200,8700 11200,9400 12170,9400"/>
+        <path fill="rgb(255,149,14)" stroke="none" d="M 12600,9400 L 12150,9250 12150,9550 12600,9400 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.ConnectorShape">
+       <g id="id13">
+        <rect class="BoundingBox" stroke="none" fill="none" x="13800" y="4150" width="952" height="3952"/>
+        <path fill="none" stroke="rgb(255,149,14)" d="M 14750,8100 L 14750,4300 14230,4300"/>
+        <path fill="rgb(255,149,14)" stroke="none" d="M 13800,4300 L 14250,4450 14250,4150 13800,4300 Z"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.LineShape">
+       <g id="id14">
+        <rect class="BoundingBox" stroke="none" fill="none" x="8382" y="11782" width="1537" height="37"/>
+        <path fill="none" stroke="rgb(255,149,14)" stroke-width="35" stroke-linejoin="round" d="M 8400,11800 L 9900,11800"/>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id15">
+        <rect class="BoundingBox" stroke="none" fill="none" x="10000" y="11500" width="2701" height="901"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="423px" font-weight="400"><tspan class="TextPosition" x="10250" y="12010"><tspan fill="rgb(0,0,0)" stroke="none">AMQP 1.0</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.CustomShape">
+       <g id="id16">
+        <rect class="BoundingBox" stroke="none" fill="none" x="5399" y="8099" width="4403" height="1203"/>
+        <path fill="rgb(255,149,14)" stroke="none" d="M 7600,9300 L 5400,9300 5400,8100 9800,8100 9800,9300 7600,9300 Z"/>
+        <path fill="none" stroke="rgb(0,0,0)" d="M 7600,9300 L 5400,9300 5400,8100 9800,8100 9800,9300 7600,9300 Z"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="494px" font-weight="400"><tspan class="TextPosition" x="5983" y="8872"><tspan fill="rgb(0,0,0)" stroke="none">MQTT Adapter</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id17">
+        <rect class="BoundingBox" stroke="none" fill="none" x="2700" y="6700" width="1087" height="646"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="353px" font-weight="400"><tspan class="TextPosition" x="2950" y="7143"><tspan fill="rgb(0,0,0)" stroke="none">http</tspan></tspan></tspan></text>
+       </g>
+      </g>
+      <g class="com.sun.star.drawing.TextShape">
+       <g id="id18">
+        <rect class="BoundingBox" stroke="none" fill="none" x="4500" y="6655" width="1185" height="646"/>
+        <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="353px" font-weight="400"><tspan class="TextPosition" x="4750" y="7098"><tspan fill="rgb(0,0,0)" stroke="none">mqtt</tspan></tspan></tspan></text>
+       </g>
+      </g>
+     </g>
+    </g>
+   </g>
+  </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/docs/dev/user-guide/jmeter_load_tests/index.html b/docs/dev/user-guide/jmeter_load_tests/index.html
new file mode 100644
index 0000000..7799e8c
--- /dev/null
+++ b/docs/dev/user-guide/jmeter_load_tests/index.html
@@ -0,0 +1,2215 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Load Tests with JMeter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Load Tests with JMeter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Load Tests with JMeter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/jmeter_load_tests//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/jmeter_load_tests/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/jmeter_load_tests/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/jmeter_load_tests/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/jmeter_load_tests.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > Load Tests with JMeter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <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>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Load Tests with JMeter</h1>
+          
+
+        
+
+
+<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>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/dev/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>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" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/user-guide/kura-adapter/index.html b/docs/dev/user-guide/kura-adapter/index.html
new file mode 100644
index 0000000..d1c0576
--- /dev/null
+++ b/docs/dev/user-guide/kura-adapter/index.html
@@ -0,0 +1,2276 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Kura Adapter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Kura Adapter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Kura Adapter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/kura-adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/kura-adapter/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/kura-adapter/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/kura-adapter/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/kura-adapter.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > Kura Adapter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <div class="progress">
+    <div class="wrapper">
+<nav id="TableOfContents">
+<ul>
+<li>
+<ul>
+<li><a href="#downstream-meta-data">Downstream Meta Data</a></li>
+<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Kura Adapter</h1>
+          
+
+        
+
+
+<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>
+
+<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>
+
+
+<p>The Kura adapter by default requires devices (gateways) to authenticate during connection establishment. In order to do so, gateways need to provide a <em>username</em> and a <em>password</em> in the MQTT <em>CONNECT</em> packet. 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 gateway against the credentials the <a href="/hono/docs/dev/admin-guide/kura-adapter-config/#credentials-service-connection-configuration">configured Credentials service</a> has on record for the gateway. 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>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>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>
+<li><em>control</em> messages with QoS 0 are forwarded to Hono&rsquo;s 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-control</code>.</li>
+<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>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/dev/api/tenant-api/#payload-format">tenant</a> or the <a href="/hono/docs/dev/api/device-registration-api/#payload-format">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>
+
+<h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
+
+<p>The adapter uses the <a href="/hono/docs/dev/api/tenant-api/#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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/user-guide/mqtt-adapter/index.html b/docs/dev/user-guide/mqtt-adapter/index.html
new file mode 100644
index 0000000..0475b12
--- /dev/null
+++ b/docs/dev/user-guide/mqtt-adapter/index.html
@@ -0,0 +1,2631 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>MQTT Adapter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="MQTT Adapter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="MQTT Adapter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/mqtt-adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/mqtt-adapter/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/mqtt-adapter/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/mqtt-adapter/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/mqtt-adapter.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > MQTT Adapter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <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="#connection-limits">Connection Limits</a></li>
+<li><a href="#message-limits">Message Limits</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="#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>
+</ul></li>
+<li><a href="#downstream-meta-data">Downstream Meta Data</a></li>
+<li><a href="#tenant-specific-configuration">Tenant specific Configuration</a></li>
+</ul></li>
+</ul>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>MQTT Adapter</h1>
+          
+
+        
+
+
+<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>
+<li>ignores any <em>Will</em> included in a client&rsquo;s CONNECT packet.</li>
+<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 <a href="/hono/docs/dev/api/tenant-api/#payload-format">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 adapter needs to be <a href="/hono/docs/dev/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>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 the <a href="/hono/docs/dev/admin-guide/mqtt-adapter-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 client 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/dev/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/dev/concepts/device-identity/">Device Identity</a> for a discussion of the concepts.</p>
+
+<h2 id="connection-limits">Connection Limits</h2>
+
+<p>After verifying the credentials, the number of existing connections is checked against the configured <a href="/hono/docs/dev/concepts/resource-limits/">resource-limits</a> by the MQTT adapter.  If the limit is exceeded then a return code <code>0x05</code> indicating <code>Connection Refused: not authorised</code> is sent back.</p>
+
+<h2 id="message-limits">Message Limits</h2>
+
+<p>Before accepting any telemetry or event or command messages, the MQTT adapter verifies that the configured <a href="/hono/docs/dev/concepts/resource-limits/">message limit</a> is not exceeded. The incoming message is discarded if the limit is exceeded.</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/dev/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>
+
+<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>
+
+<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>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># 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/dev/admin-guide/secure_communication/#mqtt-adapter">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>
+
+<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>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>
+
+<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>
+
+<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://www.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="#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>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>
+
+<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/dev/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>
+
+<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>
+
+<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>mosquitto_pub -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t event -q 1 -m '{&quot;alarm&quot;: 1}'
+</code></pre>
+
+<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>
+
+<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>mosquitto_pub -t event/DEFAULT_TENANT/4711 -q 1 -m '{&quot;alarm&quot;: 1}'
+</code></pre>
+
+<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>
+
+<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://www.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="#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>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>
+
+<p>The MQTT adapter supports 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/dev/api/event-api/#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/dev/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 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>
+
+<div class="alert alert-notice">
+    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
+    <div>Previous versions of Hono used <code>control</code> instead of <code>command</code> as topic prefix. Using the <code>control</code> prefix is still supported but deprecated.</div>
+</div>
+
+
+<p>The following variables are used:</p>
+
+<ul>
+<li><code>${command}</code> : is 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) : denotes the unique identifier of the command execution request and 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> : is 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> header.</li>
+</ul>
+
+<p>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>. The following example shows a property bag that contains two properties <em>seqNo</em> and <em>importance</em>:</p>
+
+<pre><code>/topic/name/?seqNo=10034&amp;importance=&quot;high&quot;
+</code></pre>
+
+<p>The MQTT adapter currently does not require nor use any properties.</p>
+
+<h3 id="receiving-commands-authenticated-device">Receiving Commands (authenticated Device)</h3>
+
+<p>An authenticated device MUST use the following topic filter to subscribe to commands:</p>
+
+<ul>
+<li><code>command/+/+/req/#</code></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<pre><code>mosquitto_sub -v -u 'sensor1@DEFAULT_TENANT' -P hono-secret -t command/+/+/req/#
+</code></pre>
+
+<p>The adapter will then publish commands for the device to topic:</p>
+
+<ul>
+<li>for <em>Request/Response</em> commands: <code>command///req/${req-id}/${command}[/*][/property-bag]</code></li>
+<li>for <em>one-way</em> commands: <code>command///req//${command}[/*][/property-bag]</code></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<p>For example, if the <a href="/hono/docs/dev/dev-guide/java_client_consumer/">HonoExampleApplication</a> was started, after the <code>ttd</code> event requested by the subscription of mosquitto_sub, it layers a command that arrives as follows:</p>
+
+<pre><code>command///q/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/setBrightness {
+   &quot;brightness&quot; : 79
+}
+</code></pre>
+
+<p>If the command is a <em>one-way</em> command, it will arrive as follows:</p>
+
+<pre><code>command///q//setBrightness {
+   &quot;brightness&quot; : 79
+}
+</code></pre>
+
+<h3 id="receiving-commands-unauthenticated-device">Receiving Commands (unauthenticated Device)</h3>
+
+<p>An unauthenticated device MUST use the following topic filter to subscribe to commands:</p>
+
+<ul>
+<li><code>command/${tenant-id}/${device-id}/req/#</code></li>
+</ul>
+
+<p><strong>Example</strong></p>
+
+<pre><code>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:</p>
+
+<ul>
+<li><code>command/${tenant-id}/${device-id}/req/${req-id}/${command}[/*][/property-bag]</code></li>
+</ul>
+
+<p>and <em>one-way</em> commands to the topic:</p>
+
+<ul>
+<li><code>command/${tenant-id}/${device-id}/req//${command}[/*][/property-bag]</code></li>
+</ul>
+
+<p>(For an example of the incoming command see above at authenticated device)</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 following topic:</p>
+
+<ul>
+<li><code>command///res/${req-id}/${status}</code></li>
+</ul>
+
+<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>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>
+
+<p>An unauthenticated device MUST send the response to a previously received command to the following topic:</p>
+
+<ul>
+<li><code>command/${tenant-id}/${device-id}/res/${req-id}/${status}</code></li>
+</ul>
+
+<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>mosquitto_pub -t command/DEFAULT_TENANT/4711/res/1010f8ab0b53-bd96-4d99-9d9c-56b868474a6a/200 -m '{&quot;lumen&quot;: 200}'
+</code></pre>
+
+<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>
+</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>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<p>The adapter also considers <em>defaults</em> registered for the device at either the <a href="/hono/docs/dev/api/tenant-api/#payload-format">tenant</a> or the <a href="/hono/docs/dev/api/device-registration-api/#payload-format">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>
+
+<h2 id="tenant-specific-configuration">Tenant specific Configuration</h2>
+
+<p>The adapter uses the <a href="/hono/docs/dev/api/tenant-api/#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>
+</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>
+</tr>
+</tbody>
+</table>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+
diff --git a/docs/dev/user-guide/sigfox-adapter/index.html b/docs/dev/user-guide/sigfox-adapter/index.html
new file mode 100644
index 0000000..9383865
--- /dev/null
+++ b/docs/dev/user-guide/sigfox-adapter/index.html
@@ -0,0 +1,2317 @@
+<!DOCTYPE html>
+<html lang="dev" class="js csstransforms3d">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="generator" content="Hugo 0.54.0" />
+    <meta name="description" content="A set of micro-services for connecting millions of devices.">
+<meta name="author" content="The Eclipse Hono Project">
+
+    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
+<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
+<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
+<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
+<meta name="msapplication-TileColor" content="#da532c">
+<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
+<meta name="theme-color" content="#ffffff">
+
+    <title>Sigfox Adapter :: Eclipse Hono&trade; Vers.: dev</title>
+
+    
+    <link href="/hono/docs/css/nucleus.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1564044211" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1564044211" rel="stylesheet">
+    
+      <link href="/hono/docs/css/theme-hono.css?1564044211" rel="stylesheet">
+    
+
+    <script src="/hono/docs/js/jquery-2.x.min.js?1564044211"></script>
+
+    <style type="text/css">
+      :root #header + #content > #left > #rlblock_left{
+          display:none !important;
+      }
+      
+        :not(pre) > code + span.copy-to-clipboard {
+            display: none;
+        }
+      
+    </style>
+    
+
+<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
+<link rel="stylesheet" href='/hono/docs/css/hono.css'>
+
+
+<meta name="twitter:card" content="summary_large_image">
+<meta name="twitter:site" content="@EclipseHono">
+<meta name="twitter:title" content="Sigfox Adapter :: Eclipse Hono&amp;trade; Vers.: dev">
+<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
+<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
+
+
+<meta property="og:title" content="Sigfox Adapter :: Eclipse Hono&amp;trade; Vers.: dev" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/dev/user-guide/sigfox-adapter//" />
+<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
+
+  </head>
+  <body class="" data-url="/hono/docs/dev/user-guide/sigfox-adapter/">
+    <nav id="sidebar" class="">
+
+
+
+  <div id="header-wrapper">
+    <div id="header">
+      <a href="https://www.eclipse.org/hono">
+    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
+</a>
+
+    </div>
+    
+        <div class="searchbox">
+    <label for="search-by"><i class="fas fa-search"></i></label>
+    <input data-search-input id="search-by" type="search" placeholder="Search...">
+    <span data-search-clear=""><i class="fas fa-times"></i></span>
+</div>
+
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1564044211"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1564044211"></script>
+<script type="text/javascript">
+    
+        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/dev";
+    
+</script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1564044211"></script>
+
+    
+  </div>
+
+    <div class="highlightable">
+    <ul class="topics">
+
+        
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/concepts/" title="Concepts" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/concepts/">
+          <i class="far fa-lightbulb"></i> Concepts
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-identity/" title="Device Identity" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-identity/">
+        Device Identity
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/tenancy/">
+        Multi-Tenancy
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/device-notifications/">
+        Device Notifications
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/command-and-control/">
+        Command &amp; Control
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/resource-limits/">
+        Resource limits
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/concepts/connection-events/" title="Connection Events" class="dd-item ">
+        <a href="/hono/docs/dev/concepts/connection-events/">
+        Connection Events
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/user-guide/" title="User Guide" class="dd-item 
+        parent
+        
+        
+        ">
+      <a href="/hono/docs/dev/user-guide/">
+          <i class="fas fa-book-reader"></i> User Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/device-registry/">
+        Device Registry
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/http-adapter/">
+        HTTP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/mqtt-adapter/">
+        MQTT Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/amqp-adapter/">
+        AMQP Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/kura-adapter/">
+        Kura Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item active">
+        <a href="/hono/docs/dev/user-guide/sigfox-adapter/">
+        Sigfox Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+        <a href="/hono/docs/dev/user-guide/jmeter_load_tests/">
+        Load Tests with JMeter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/admin-guide/" title="Admin Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/admin-guide/">
+          <i class="fas fa-sliders-h"></i> Admin Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/common-config/">
+        Common Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/auth-server-config/">
+        Auth Server Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/device-registry-config/">
+        Device Registry Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/http-adapter-config/">
+        HTTP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-adapter-config/">
+        AMQP Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/mqtt-adapter-config/">
+        MQTT Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/kura-adapter-config/">
+        Kura Adapter Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/hono-client-configuration/">
+        Hono Client Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/amqp-network-config/">
+        AMQP 1.0 Messaging Network Configuration
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/secure_communication/">
+        Secure Communication
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
+        <a href="/hono/docs/dev/admin-guide/monitoring-tracing-config/">
+        Monitoring &amp; Tracing
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/dev-guide/" title="Developer Guide" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/dev-guide/">
+          <i class="fas fa-tools"></i> Developer Guide
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/building_hono/">
+        Building from Source
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/java_client_consumer/">
+        Consuming Messages from Java
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+        <a href="/hono/docs/dev/dev-guide/custom_http_adapter/">
+        Implement a Custom Hono HTTP Protocol Adapter
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/api/" title="API" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/api/">
+          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/telemetry-api/">
+        Telemetry API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/event-api/" title="Event API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/event-api/">
+        Event API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/command-and-control-api/">
+        Command &amp; Control API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/tenant-api/">
+        Tenant API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-connection-api/">
+        Device Connection API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/device-registration-api/">
+        Device Registration API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/credentials-api/">
+        Credentials API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+        <a href="/hono/docs/dev/api/authentication-api/">
+        Authentication API
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/api/metrics/" title="Metrics" class="dd-item ">
+        <a href="/hono/docs/dev/api/metrics/">
+        Metrics
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/deployment/" title="Deployment" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/deployment/">
+          <i class="fas fa-shipping-fast"></i> Deployment
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/helm-based-deployment/">
+        Helm based Deployment
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/openshift/">
+        OpenShift / OKD
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/create-kubernetes-cluster/">
+        Setting up a Kubernetes Cluster
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+        <a href="/hono/docs/dev/deployment/resource-limitation/">
+        Limiting Resource Usage
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+          
+
+
+ 
+  
+    
+    <li data-nav-id="/hono/docs/dev/architecture/" title="Architecture" class="dd-item 
+        
+        
+        
+        ">
+      <a href="/hono/docs/dev/architecture/">
+          <i class="fas fa-landmark"></i> Architecture
+          
+      </a>
+      
+      
+        <ul>
+          
+          
+          
+          
+        
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/component-view/component-view/">
+        Component View
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+            
+            
+
+
+ 
+  
+    
+      <li data-nav-id="/hono/docs/dev/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+        <a href="/hono/docs/dev/architecture/auth/auth/">
+        Authentication/Authorization
+        
+        </a>
+    </li>
+     
+  
+ 
+
+            
+          
+        
+        </ul>
+              
+    </li>
+  
+ 
+
+          
+         
+    </ul>
+
+    
+    
+
+    
+    <section id="prefooter">
+      <hr/>
+      <ul>
+      
+        <li>
+          <div id="select-box-wrapper">
+          <div id="select-box">
+          <a class="padding">
+            Version:&nbsp;
+          <div class="select-style">
+            <select id="select-language" onchange="location = this.value;">
+          
+          
+          
+              
+              
+                  
+                    
+                    
+                      <option id="stable" value="/hono/docs/user-guide/sigfox-adapter/">stable (1.0-M5)</option>
+                    
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="dev" value="/hono/docs/dev/user-guide/sigfox-adapter/" selected>dev</option>
+                    
+                  
+              
+          
+        </select>
+        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
+          <g>
+            <g id="arrow-drop-down">
+              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
+            </g>
+          </g>
+        </svg>
+        </div>
+        </a>
+        </div>
+        </div>
+        </li>
+      
+      
+      
+      </ul>
+    </section>
+    
+    <section id="footer">
+      
+
+<p>&copy; 2019 <a href="https://www.eclipse.org/hono">The Eclipse Hono Project</a></p>
+
+<p>
+    Documentation built with
+    <a href="https://www.gohugo.io" target="_blank">Hugo</a>
+    using the
+    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
+</p>
+
+<div class="eclipse-logo">
+    <a href="https://www.eclipse.org" target="_blank">
+        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
+    </a>
+</div>
+
+    </section>
+  </div>
+</nav>
+
+
+
+
+
+        <section id="body">
+        <div id="overlay"></div>
+        
+        
+    <div class="old-version-hint">
+        <p>This page refers to version <em>dev</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
+
+    
+        <div class="padding highlightable">
+              
+              <div>
+                <div id="top-bar">
+                
+                  
+                  
+                  
+                  <div id="top-github-link">
+                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/user-guide/sigfox-adapter.md" target="blank">
+                      <i class="fas fa-code-branch"></i>
+                      <span id="top-github-link-text">Edit this page</span>
+                    </a>
+                  </div>
+                  
+                
+                
+                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
+                    <span id="sidebar-toggle-span">
+                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
+                          <i class="fas fa-bars"></i>
+                        </a>
+                    </span>
+                  
+                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
+                  
+                  <span class="links">
+                 
+                 
+                    
+          
+          
+            
+            
+          
+          
+            
+            
+          
+          
+            <a href='/hono/docs/dev/'>Documentation</a> > <a href='/hono/docs/dev/user-guide/'>User Guide</a> > Sigfox Adapter
+          
+         
+          
+         
+          
+        
+                 
+                  </span>
+                </div>
+                
+                    <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>
+</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>
+</nav>
+    </div>
+</div>
+
+                
+              </div>
+            </div>
+            
+
+        
+        <div id="body-inner">
+          
+            <h1>Sigfox Adapter</h1>
+          
+
+        
+
+
+<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;
+}
+</code></pre>
+
+<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;: [
+    {
+      &quot;pwd-plain&quot;: &quot;test12&quot;,
+    }
+  ],
+  &quot;type&quot;: &quot;hashed-password&quot;
+}
+</code></pre>
+
+<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;
+}
+</code></pre>
+
+<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>
+<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,
+you cannot put the credentials into the URL, as there is a bug in the
+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>
+</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>Command and control is currently not supported</li>
+<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>
+</ul>
+
+<footer class=" footline" >
+	
+</footer>
+
+
+        
+        </div> 
+        
+
+      </div>
+
+    <div id="navigation">
+        
+        
+        
+        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                        
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                        
+                        
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+                        
+            
+            
+                
+                    
+                
+                
+
+                    
+                    
+                    
+
+                    
+            
+        
+                    
+            
+        
+                    
+            
+        
+        
+        
+
+
+	 
+	 
+    </div>
+
+    </section>
+    
+    <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?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1564044211"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1564044211"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1564044211"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1564044211"></script>
+    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1564044211"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1564044211"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script src="/hono/docs/js/modernizr.custom.71422.js?1564044211"></script>
+    <script src="/hono/docs/js/learn.js?1564044211"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1564044211"></script>
+
+    <link href="/hono/docs/mermaid/mermaid.css?1564044211" type="text/css" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1564044211"></script>
+    <script>
+        mermaid.initialize({ startOnLoad: true });
+    </script>
+    
+
+
+
+
+<script>
+    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+    })(window,document,'script','dataLayer','GTM-5WLCZXC');
+</script>
+
+
+<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
+
+  </body>
+</html>
+