Bosch IoT Device Management - will be discontinued by mid 2024

Devices via Bosch IoT Hub connection

The Devices via Bosch IoT Hub connection has been simplified in 2023.
For all new subscriptions instead of this article read Default Hub connection - 2023.

This section describes the default pre-configured connection, which is established automatically by subscribing Bosch IoT Device Management.
In case you need to adjust it, find here some details of how it should be configured.

Bosch IoT Hub

  • Your instance is automatically pre-configured to be allowed to send messages to our cloud infrastructure.
    Bosch IoT Hub does not have a UI on its own, thus all relevant information is accessible via Bosch IoT Things Dashboard.

  • By default, the automatically created connection is named "Devices via Bosch IoT Hub".
    The connection is visible at the Bosch IoT Things Dashboard, see below.

Bosch IoT Things

Your instance is pre-configured to allow all messages from Hub to be routed and processed at Bosch IoT Things.

  1. Open the Connections UI to see the entries created automatically during the service subscription process.

  2. Click the Devices via Bosch IoT Hub connection to see its details.

    images/confluence/download/attachments/1634788166/hub-connection.png
  3. The General section contains information such as Connection ID, name and type.

  4. The Coordinates section is filled with Connection coordinates, e.g.

    1. Bootstrap server: pkc-q8p66.eu-central-1.aws.confluent.cloud:9092

    2. Consumer group: your-service-instance-id_hub_{{ connection:id }}

  5. In section Sources you will find three pre-configured sources.
    For a Kafka connection, the source addresses are Kafka topics to subscribe to. All messages are consumed in an "At-Most-One" manner. This means that the offset will be committed after the message was consumed from Kafka, no matter if the message can be processed correctly or not.

    1. Source 1

      1. Addresses

        1. hono.telemetry.tyour-service-instance-id_hub

      2. Authorization
        The authorization subject: integration:your-service-instance-id_things:hub
        This entry can also be found in the default policy, which we create for you.

      3. Requested acknowledgements
        Disabled

      4. Declared acknowledgements
        None

      5. Options: Bosch IoT Hub/Things ID convention is enabled.
        QoS 0: At most once

      6. Send replies

        • Expected response types

          • Response

          • Error

        • Address: hono.command.tyour-service-instance-id_hub/{{ thing:id }}

        • Replies header mappings

          • correlation-id ⇾ {{ header:correlation-id }}

          • device_id ⇾ {{ thing:id }}

          • subject ⇾ {{ header:subject | fn:default(topic:action-subject) | fn:default(topic:criterion) }}-response

    2. Source 2

      1. Addresses

        • hono.event.tyour-service-instance-id_hub

      2. The authorization subject: integration:your-service-instance-id_things:hub This entry can also be found in the default policy, which we create for you.

      3. Declared acknowledgements
        None

      4. Options: Bosch IoT Hub/Things ID convention is enabled.
        QoS 1: At least once

      5. Send replies

        • Expected response types

          • Response

          • Error

        • Address: hono.command.tyour-service-instance-id_hub/{{ thing:id }}

        • Replies header mappings

          • correlation-id ⇾ {{ header:correlation-id }}

          • device_id ⇾ {{ thing:id }}

          • subject ⇾ {{ header:subject | fn:default(topic:action-subject) | fn:default(topic:criterion) }}-response

    3. Source 3

      1. Addresses

        • hono.command_response.tyour-service-instance-id_hub

      2. The authorization subject: integration:your-service-instance-id_things:hub
        This entry can also be found in the default policy, which we create for you.

      3. Requested acknowledgements
        Disabled

      4. Declared acknowledgements
        None

      5. Options: Bosch IoT Hub/Things ID convention is enabled.
        QoS 1: At least once

      6. Header mappings

        • correlation-id ⇾ {{ header:correlation-id }}

        • status ⇾ {{ header:status }}

  6. In section Targets you will find two sections with the pre-configured topics

    1. first target

      1. hono.command.tyour-service-instance-id_hub/{{thing:id}}

      2. Topics to publish on address

        • Thing live messages

        • Thing live commands

      3. The authorization subject: integration:your-service-instance-id_things:hub
        This entry you will also find in the default policy, which we create for you.

      4. Header mappings.

        • device_id ⇾ {{ thing:id }}

        • subject ⇾ {{ header:subject | fn:default(topic:action-subject) }}

        • response-required ⇾ {{ header:response-required }}

        • correlation-id ⇾ {{ header:correlation-id }}

    2. second target

      1. hono.command.tyour-service-instance-id_hub/{{thing:id}}

      2. Topics to publish on address

        • Thing twin events

        • Thing live events

      3. The authorization subject: integration:your-service-instance-id_things:hub
        This entry you will also find in the default policy, which we create for you.

      4. Header mappings.

      • device_id ⇾ {{ thing:id }}

      • subject ⇾ {{ header:subject | fn:default(topic:action-subject) }}

      • reply-to ⇾ command_response/your-hub-service-tenant-ID/replies

      • correlation-id ⇾ {{ header:correlation-id }}

Further reading

You can configure additional connections with the Bosch IoT Hub as well as generic endpoints using AMQP 1.0, AMQP 0.9.1 (e.g. RabbitMQ), MQTT or Apache Kafka.