latest web site changes
diff --git a/docs/concepts/device-notifications/index.html b/docs/concepts/device-notifications/index.html
new file mode 100644
index 0000000..513a91b
--- /dev/null
+++ b/docs/concepts/device-notifications/index.html
@@ -0,0 +1,2292 @@
+<!DOCTYPE html>
+<html lang="stable" 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™</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&trade;">
+<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&trade;" />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="https://www.eclipse.org/hono/docs/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/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\/";
+
+</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/concepts/" title="Concepts" class="dd-item
+ parent
+
+
+ ">
+ <a href="/hono/docs/concepts/">
+ <i class="far fa-lightbulb"></i> Concepts
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/concepts/device-identity/" title="Device Identity" class="dd-item ">
+ <a href="/hono/docs/concepts/device-identity/">
+ Device Identity
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
+ <a href="/hono/docs/concepts/tenancy/">
+ Multi-Tenancy
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/concepts/device-notifications/" title="Device Notifications" class="dd-item active">
+ <a href="/hono/docs/concepts/device-notifications/">
+ Device Notifications
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/concepts/command-and-control/" title="Command & Control" class="dd-item ">
+ <a href="/hono/docs/concepts/command-and-control/">
+ Command & Control
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/concepts/resource-limits/" title="Resource limits" class="dd-item ">
+ <a href="/hono/docs/concepts/resource-limits/">
+ Resource limits
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/concepts/connection-events/" title="Connection Events" class="dd-item ">
+ <a href="/hono/docs/concepts/connection-events/">
+ Connection Events
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/" title="User Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/user-guide/">
+ <i class="fas fa-book-reader"></i> User Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/device-registry/" title="Device Registry" class="dd-item ">
+ <a href="/hono/docs/user-guide/device-registry/">
+ Device Registry
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
+ <a href="/hono/docs/user-guide/http-adapter/">
+ HTTP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
+ <a href="/hono/docs/user-guide/mqtt-adapter/">
+ MQTT Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
+ <a href="/hono/docs/user-guide/amqp-adapter/">
+ AMQP Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
+ <a href="/hono/docs/user-guide/kura-adapter/">
+ Kura Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
+ <a href="/hono/docs/user-guide/sigfox-adapter/">
+ Sigfox Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
+ <a href="/hono/docs/user-guide/jmeter_load_tests/">
+ Load Tests with JMeter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/" title="Admin Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/admin-guide/">
+ <i class="fas fa-sliders-h"></i> Admin Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/common-config/">
+ Common Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/auth-server-config/">
+ Auth Server Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/device-registry-config/">
+ Device Registry Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/http-adapter-config/">
+ HTTP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/amqp-adapter-config/">
+ AMQP Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/mqtt-adapter-config/">
+ MQTT Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/kura-adapter-config/">
+ Kura Adapter Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/hono-client-configuration/">
+ Hono Client Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
+ <a href="/hono/docs/admin-guide/amqp-network-config/">
+ AMQP 1.0 Messaging Network Configuration
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
+ <a href="/hono/docs/admin-guide/secure_communication/">
+ Secure Communication
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/admin-guide/monitoring-tracing-config/" title="Monitoring & Tracing" class="dd-item ">
+ <a href="/hono/docs/admin-guide/monitoring-tracing-config/">
+ Monitoring & Tracing
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev-guide/" title="Developer Guide" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/dev-guide/">
+ <i class="fas fa-tools"></i> Developer Guide
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
+ <a href="/hono/docs/dev-guide/building_hono/">
+ Building from Source
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
+ <a href="/hono/docs/dev-guide/java_client_consumer/">
+ Consuming Messages from Java
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
+ <a href="/hono/docs/dev-guide/custom_http_adapter/">
+ Implement a Custom Hono HTTP Protocol Adapter
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/" title="API" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/api/">
+ <i class='fas fa-plug'></i> API
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
+ <a href="/hono/docs/api/telemetry-api/">
+ Telemetry API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/event-api/" title="Event API Specification" class="dd-item ">
+ <a href="/hono/docs/api/event-api/">
+ Event API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/command-and-control-api/" title="Command & Control API Specification" class="dd-item ">
+ <a href="/hono/docs/api/command-and-control-api/">
+ Command & Control API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
+ <a href="/hono/docs/api/tenant-api/">
+ Tenant API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
+ <a href="/hono/docs/api/device-connection-api/">
+ Device Connection API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
+ <a href="/hono/docs/api/device-registration-api/">
+ Device Registration API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
+ <a href="/hono/docs/api/credentials-api/">
+ Credentials API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
+ <a href="/hono/docs/api/authentication-api/">
+ Authentication API
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/api/metrics/" title="Metrics" class="dd-item ">
+ <a href="/hono/docs/api/metrics/">
+ Metrics
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/deployment/" title="Deployment" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/deployment/">
+ <i class="fas fa-shipping-fast"></i> Deployment
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
+ <a href="/hono/docs/deployment/helm-based-deployment/">
+ Helm based Deployment
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
+ <a href="/hono/docs/deployment/openshift/">
+ OpenShift / OKD
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
+ <a href="/hono/docs/deployment/create-kubernetes-cluster/">
+ Setting up a Kubernetes Cluster
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
+ <a href="/hono/docs/deployment/resource-limitation/">
+ Limiting Resource Usage
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/architecture/" title="Architecture" class="dd-item
+
+
+
+ ">
+ <a href="/hono/docs/architecture/">
+ <i class="fas fa-landmark"></i> Architecture
+
+ </a>
+
+
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/architecture/component-view/component-view/" title="Component View" class="dd-item ">
+ <a href="/hono/docs/architecture/component-view/component-view/">
+ Component View
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li data-nav-id="/hono/docs/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
+ <a href="/hono/docs/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:
+ <div class="select-style">
+ <select id="select-language" onchange="location = this.value;">
+
+
+
+
+
+
+
+
+ <option id="stable" value="/hono/docs/concepts/device-notifications/" selected>stable (1.0-M5)</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option id="dev" value="/hono/docs/dev/concepts/device-notifications/">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>© 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="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/'>Documentation</a> > <a href='/hono/docs/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’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’s HTTP protocol adapter</a></li>
+<li><a href="#hono-s-mqtt-protocol-adapter">Hono’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’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>Devicess</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 ‘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/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’s example module for details where such a notification callback is used.</p>
+
+<p>Please refer to the <a href="/hono/docs/api/telemetry-api/">Telemetry API</a> and the <a href="/hono/docs/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">> 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’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’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’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’s HTTP protocol adapter</h3>
+
+<p>Hono’s HTTP protocol adapter supports the setting of the <em>ttd</em> value in requests explicitly - please refer to the
+<a href="/hono/docs/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’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/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>
+