<?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.7</title>
    <link>https://www.eclipse.org/hono/docs/1.7/</link>
    <description>Recent content in Documentation on Eclipse Hono&amp;trade; Vers.: 1.7</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language><atom:link href="https://www.eclipse.org/hono/docs/1.7/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Device Identity</title>
      <link>https://www.eclipse.org/hono/docs/1.7/concepts/device-identity/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/concepts/tenancy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/concepts/device-provisioning/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/concepts/connecting-devices/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/concepts/device-notifications/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/concepts/command-and-control/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/concepts/resource-limits/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/concepts/connection-events/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/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.7/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.7/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.7/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.7/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.7/api/tenant/&#34;&gt;Tenant API&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.7/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.7/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.7/user-guide/http-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/user-guide/mqtt-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/user-guide/amqp-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/user-guide/coap-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/user-guide/kura-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/user-guide/sigfox-adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/common-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/auth-server-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/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.7/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.7/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.7/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.7/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.7/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.7/api/device-registration/&#34;&gt;Device Registration&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.7/api/credentials/&#34;&gt;Credentials&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.7/api/tenant/&#34;&gt;Tenant&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.7/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.7/admin-guide/command-router-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/admin-guide/device-connection-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/admin-guide/http-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/mqtt-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/amqp-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/coap-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/kura-adapter-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/hono-client-configuration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/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 it&amp;rsquo;s 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.7/admin-guide/amqp-network-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/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.7/admin-guide/secure_communication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/monitoring-tracing-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/dev-guide/building_hono/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/dev-guide/amqp_adapter_client/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/dev-guide/java_client_consumer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/dev-guide/custom_http_adapter/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/telemetry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/event/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/command-and-control/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/kafka-api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/telemetry-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/event-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/command-and-control-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/tenant/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/command-router/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/device-connection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/device-registration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/credentials/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/authentication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/management/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/api/metrics/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/deployment/helm-based-deployment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/deployment/openshift/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/deployment/create-kubernetes-cluster/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/deployment/resource-limitation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/architecture/component-view/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/architecture/auth/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/user-guide/device-registry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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.7/admin-guide/device-registry-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/hono/docs/1.7/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>
