<?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.: 1.8</title>
    <link>https://www.eclipse.org/hono/docs/1.8/</link>
    <description>Recent content in Documentation on Eclipse Hono&amp;trade; Vers.: 1.8</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language><atom:link href="https://www.eclipse.org/hono/docs/1.8/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Device Identity</title>
      <link>https://www.eclipse.org/hono/docs/1.8/concepts/device-identity/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/concepts/device-identity/</guid>
      <description>&lt;p&gt;This page describes how devices are represented and identified throughout Hono and its APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Multi-Tenancy</title>
      <link>https://www.eclipse.org/hono/docs/1.8/concepts/tenancy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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 Provisioning</title>
      <link>https://www.eclipse.org/hono/docs/1.8/concepts/device-provisioning/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/concepts/device-provisioning/</guid>
      <description>This page describes how devices are provisioned in Hono, i.e. how their digital representation is generated. For each device, registration information is stored that defines a device identity. Each device belongs to exactly one tenant. Each device must have at least one set of credentials that are used to authenticate to Hono.
To get an understanding of what is meant by the terms tenant, device registration and credentials, it is recommended to read the Device Identity page first.</description>
    </item>
    
    <item>
      <title>Connecting Devices</title>
      <link>https://www.eclipse.org/hono/docs/1.8/concepts/connecting-devices/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/concepts/connecting-devices/</guid>
      <description>One of the most important features of Eclipse Hono™ is to abstract away the specific communication protocols used by devices. This page describes the different ways of how devices can be connected to Hono.
Before a device can connect to Hono and upload data or receive commands from downstream applications, it needs to be provisioned to the system. As part of device provisioning, the device is associated with the tenant that it belongs to and gets assigned a logical identifier which is unique within the tenant.</description>
    </item>
    
    <item>
      <title>Device Notifications</title>
      <link>https://www.eclipse.org/hono/docs/1.8/concepts/device-notifications/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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/1.8/concepts/command-and-control/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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/1.8/api/command-and-control/&#34;&gt;Command &amp;amp; Control API&lt;/a&gt;. This concept page describes how this API is used by applications to send commands and describes how Hono&amp;rsquo;s protocol adapters process the commands so that they reach their target device.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Resource limits</title>
      <link>https://www.eclipse.org/hono/docs/1.8/concepts/resource-limits/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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/1.8/concepts/connection-events/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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>MongoDB Based Device Registry</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/mongodb-based-device-registry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/mongodb-based-device-registry/</guid>
      <description>The MongoDB based Device Registry component provides implementations of Hono&amp;rsquo;s Tenant API, Device Registration API and Credentials API. As such it exposes AMQP 1.0 based endpoints for retrieving the relevant information. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.
In addition to the above APIs, this Device Registry also exposes HTTP endpoints for managing the contents of the Device Registry according to the Device Registry Management API.</description>
    </item>
    
    <item>
      <title>JDBC Based Device Registry</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/jdbc-based-device-registry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/jdbc-based-device-registry/</guid>
      <description>The JDBC based Device Registry component provides implementations of Hono&amp;rsquo;s Tenant API, Device Registration API and Credentials API. As such it exposes AMQP 1.0 based endpoints for retrieving the relevant information. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.
In addition to the above APIs, this Device Registry also exposes HTTP endpoints for managing the contents of the Device Registry according to the Device Registry Management API.</description>
    </item>
    
    <item>
      <title>File Based Device Registry</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/file-based-device-registry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/file-based-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/1.8/api/tenant/&#34;&gt;Tenant API&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/device-registration/&#34;&gt;Device Registration API&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/credentials/&#34;&gt;Credentials API&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP Adapter</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/http-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/http-adapter/</guid>
      <description>&lt;p&gt;The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MQTT Adapter</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/mqtt-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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/1.8/user-guide/amqp-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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;rsquo;s Telemetry, Event and Command &amp;amp; Control endpoints.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>CoAP Adapter</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/coap-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/coap-adapter/</guid>
      <description>&lt;p&gt;The CoAP protocol adapter exposes &lt;a href=&#34;https://tools.ietf.org/html/rfc7252&#34;&gt;CoAP&lt;/a&gt; based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Kura Adapter</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/kura-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/kura-adapter/</guid>
      <description>&lt;p&gt;The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura™ based gateways to publish &lt;em&gt;control&lt;/em&gt; and &lt;em&gt;data&lt;/em&gt; messages to Eclipse Hono™&amp;rsquo;s Telemetry and Event endpoints.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Sigfox Adapter</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/sigfox-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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>Common Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/common-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/common-config/</guid>
      <description>&lt;p&gt;Many 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/1.8/admin-guide/auth-server-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/auth-server-config/</guid>
      <description>&lt;p&gt;The Auth Server component exposes a service endpoint implementing Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/authentication/&#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>MongoDB Based Device Registry Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/mongodb-device-registry-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/mongodb-device-registry-config/</guid>
      <description>The MongoDB based Device Registry component provides an implementation of Eclipse Hono™&amp;rsquo;s Device Registration, Credentials and Tenant APIs. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of Device Registry Management APIs for managing tenants, registration information and credentials of devices.</description>
    </item>
    
    <item>
      <title>JDBC Based Device Registry Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/jdbc-device-registry-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/jdbc-device-registry-config/</guid>
      <description>The JDBC based Device Registry components provides an implementation of Eclipse Hono™&#39;s Device Registration, Credentials and Tenant APIs. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of Device Registry Management APIs for managing tenants, registration information and credentials of devices.</description>
    </item>
    
    <item>
      <title>File Based Device Registry Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/file-based-device-registry-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/file-based-device-registry-config/</guid>
      <description>&lt;p&gt;The File based Device Registry component provides an exemplary implementation of Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/device-registration/&#34;&gt;Device Registration&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/credentials/&#34;&gt;Credentials&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/tenant/&#34;&gt;Tenant&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/device-connection/&#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>Configuring the Command Router Service</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/command-router-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/command-router-config/</guid>
      <description>&lt;p&gt;The Command Router service provides an implementation of Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/command-router/&#34;&gt;Command Router API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Protocol Adapters&lt;/em&gt; use the &lt;em&gt;Command Router API&lt;/em&gt; to supply information with which a Command Router service component can route command &amp;amp; control messages to the protocol adapters that the target devices are connected to.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Configuring the Device Connection Service</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/device-connection-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/device-connection-config/</guid>
      <description>&lt;p&gt;The Device Connection service provides an implementation of Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.8/api/device-connection/&#34;&gt;Device Connection API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Protocol adapters use this API to store and retrieve information about the gateway that a device is using to connect to Hono&amp;rsquo;s protocol adapters. This information is necessary for routing commands to the particular protocol adapter instance that the gateway used by the device is connected to.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP Adapter Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/http-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/http-adapter-config/</guid>
      <description>&lt;p&gt;The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MQTT Adapter Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/mqtt-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/mqtt-adapter-config/</guid>
      <description>&lt;p&gt;The MQTT protocol adapter exposes an MQTT topic hierarchy for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>AMQP Adapter Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/amqp-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/amqp-adapter-config/</guid>
      <description>&lt;p&gt;The AMQP protocol adapter exposes AMQP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>CoAP Adapter Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/coap-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/coap-adapter-config/</guid>
      <description>&lt;p&gt;The CoAP protocol adapter exposes CoAP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Kura Adapter Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/kura-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/kura-adapter-config/</guid>
      <description>&lt;p&gt;The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura™ based gateways to access Eclipse Hono™&amp;rsquo;s
south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hono Client Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/hono-client-configuration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/hono-client-configuration/</guid>
      <description>&lt;p&gt;The &lt;code&gt;org.eclipse.hono.client.HonoConnection&lt;/code&gt; factory can be used to create AMQP 1.0 connections to Hono&amp;rsquo;s service components.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hono Kafka Client Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/hono-kafka-client-configuration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/hono-kafka-client-configuration/</guid>
      <description>Protocol adapters can be configured to use Kafka for the messaging. The Kafka client used there can be configured with environment variables and/or command line options.
 Tech preview The support of Kafka as a messaging system is currently a preview and not yet ready for production. The implementation as well as its APIs may change with the next version.  Configure for Kafka based Messaging The selection of whether to use AMQP or Kafka for the messaging can be configured on the tenant.</description>
    </item>
    
    <item>
      <title>AMQP 1.0 Messaging Network Configuration</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/amqp-network-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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/1.8/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/1.8/admin-guide/secure_communication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/secure_communication/</guid>
      <description>&lt;p&gt;The individual components of an Eclipse Hono™ 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/1.8/admin-guide/monitoring-tracing-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/monitoring-tracing-config/</guid>
      <description>&lt;p&gt;The individual components of an Eclipse Hono™ 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/1.8/dev-guide/building_hono/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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>AMQP Adapter Client for Java</title>
      <link>https://www.eclipse.org/hono/docs/1.8/dev-guide/amqp_adapter_client/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/dev-guide/amqp_adapter_client/</guid>
      <description>Eclipse Hono™ comes with a Java client for the AMQP adapter. It is intended for the implementation of (prototype) devices, (protocol) gateways or (end-to-end) tests. The client is based on Eclipse Vert.x.
The starting point is the class AmqpAdapterClientFactory.
The factory provides methods to get a receiver for receiving commands and a sender for each of the following actions:
 send a telemetry message send an event message send a response to a previously received command   Do not re-use sender instances The senders manage the underlying AMQP sender links, which are restored after temporary interruption of the connection (HonoConnection manages the automatic reconnection).</description>
    </item>
    
    <item>
      <title>Consuming Messages from Java</title>
      <link>https://www.eclipse.org/hono/docs/1.8/dev-guide/java_client_consumer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/dev-guide/java_client_consumer/</guid>
      <description>To illustrate how Eclipse Hono™ 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/1.8/dev-guide/custom_http_adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/dev-guide/custom_http_adapter/</guid>
      <description>&lt;p&gt;Eclipse Hono™ 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/1.8/api/telemetry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/telemetry/</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/1.8/api/event/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/event/</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/1.8/api/command-and-control/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/command-and-control/</guid>
      <description>&lt;p&gt;The &lt;em&gt;Command &amp;amp; Control&lt;/em&gt; API of Eclipse Hono™ 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>Kafka-based APIs</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/kafka-api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/kafka-api/</guid>
      <description>&lt;p&gt;The Kafka-based APIs of Eclipse Hono™ provide an alternative to the existing APIs based on AMQP 1.0.
With these APIs, clients publish data to as well as consume data from an Apache Kafka® cluster instead of using an AMQP messaging network.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Telemetry API for Kafka Specification</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/telemetry-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/telemetry-kafka/</guid>
      <description>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.
The Telemetry API for Kafka is an alternative to the Telemetry API for AMQP. With this API, clients publish telemetry data to an Apache Kafka® cluster instead of an AMQP Messaging Network.
See Kafka-based APIs for fundamental information about Hono&amp;rsquo;s Kafka-based APIs.</description>
    </item>
    
    <item>
      <title>Event API for Kafka Specification</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/event-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/event-kafka/</guid>
      <description>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.
The Event API for Kafka is an alternative to the Event API for AMQP. With this API, clients publish event messages to an Apache Kafka® cluster instead of an AMQP Messaging Network.
See Kafka-based APIs for fundamental information about Hono&amp;rsquo;s Kafka-based APIs.</description>
    </item>
    
    <item>
      <title>Command &amp; Control API for Kafka Specification</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/command-and-control-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/command-and-control-kafka/</guid>
      <description>&lt;p&gt;The &lt;em&gt;Command &amp;amp; Control&lt;/em&gt; API of Eclipse Hono™ 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/1.8/api/tenant/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/tenant/</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>Command Router API Specification</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/command-router/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/command-router/</guid>
      <description>&lt;p&gt;&lt;em&gt;Protocol Adapters&lt;/em&gt; use the &lt;em&gt;Command Router API&lt;/em&gt; to supply information with which a Command Router service component can route command &amp;amp; control messages to the protocol adapters that the target devices are connected to.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Device Connection API Specification</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/device-connection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/device-connection/</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/1.8/api/device-registration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/device-registration/</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/1.8/api/credentials/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/credentials/</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 to 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/1.8/api/authentication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/authentication/</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>Device Registry Management API Specification</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/management/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/management/</guid>
      <description>window.onload = function() { const TryItOutButtonWithHonoSandboxInfo = function() { return { wrapComponents: { TryItOutButton: (Original, { React }) = (props) = { return React.createElement(&#34;div&#34;, {style: {&#34;font-size&#34;: &#39;14px&#39;}}, React.createElement(Original, props), &#39;using the &#39;, React.createElement(&#39;a&#39;, {href: &#39;https://www.eclipse.org/hono/sandbox/&#39;}, &#34;Hono Sandbox&#34;) ) } } } } const ui = SwaggerUIBundle({ url: &#34;device-registry-v1.yaml&#34;, dom_id: &#39;#swagger-ui&#39;, deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], plugins: [ TryItOutButtonWithHonoSandboxInfo, SwaggerUIBundle.plugins.DownloadUrl ], supportedSubmitMethods: [], layout: &#34;StandaloneLayout&#34;, docExpansion: &#34;none&#34;, defaultModelRendering: &#34;</description>
    </item>
    
    <item>
      <title>Metrics</title>
      <link>https://www.eclipse.org/hono/docs/1.8/api/metrics/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/api/metrics/</guid>
      <description>&lt;p&gt;Eclipse Hono™&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/1.8/deployment/helm-based-deployment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/deployment/helm-based-deployment/</guid>
      <description>&lt;p&gt;Eclipse Hono™&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/1.8/deployment/openshift/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/deployment/openshift/</guid>
      <description>In Hono version 1.0 we dropped the OpenShift specific deployment using the source-to-image (S2I) model, in favor of the Helm charts and the Eclipse IoT Packages project.
You can still deploy to OpenShift and OKD, using the Helm charts. And you can also use routes to expose services. Deploying using S2I is also still possible, however the Hono project simply no longer provides out-of-the box scripts for doing so.</description>
    </item>
    
    <item>
      <title>Setting up a Kubernetes Cluster</title>
      <link>https://www.eclipse.org/hono/docs/1.8/deployment/create-kubernetes-cluster/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/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/1.8/deployment/resource-limitation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/deployment/resource-limitation/</guid>
      <description>&lt;p&gt;Deploying Eclipse Hono™ 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/1.8/architecture/component-view/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/architecture/component-view/</guid>
      <description>&lt;p&gt;This page describes the high level components constituting an Eclipse Hono™ instance and their relations to each other.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Authentication/Authorization</title>
      <link>https://www.eclipse.org/hono/docs/1.8/architecture/auth/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/architecture/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>
    
    <item>
      <title>Device Registries</title>
      <link>https://www.eclipse.org/hono/docs/1.8/user-guide/device-registry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/user-guide/device-registry/</guid>
      <description>Eclipse Hono™ provides these device registry implementations:
File Based Device Registry
MongoDB Based Device Registry.</description>
    </item>
    
    <item>
      <title>Device Registry Configurations</title>
      <link>https://www.eclipse.org/hono/docs/1.8/admin-guide/device-registry-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.8/admin-guide/device-registry-config/</guid>
      <description>The configuration of Eclipse Hono™s Device Registry implementations for the File Based Device Registry and for the MongoDB Based Device Registry.</description>
    </item>
    
  </channel>
</rss>
