The simplest message type for sending device data to your application via the device connectivity layer is telemetry messages.
In this use-case the device sends messages to the device connectivity layer with one of the supported protocols (for example MQTT). The device connectivity layer will process the message in the specific protocol adapter and queue the message in its internal messaging network. Bosch IoT Things service that is connected to the messaging endpoint will then consume the message.
Telemetry messages allow devices to send messages without guaranteed delivery. The message might be lost in flight or during internal message processing.
When to use telemetry?
Telemetry messages are well suited for high-throughput scenarios where reliability is not important. If your use-case can afford infrequent message loss, this might be a good choice.
A typical example for telemetry messages is a temperature sensor in a building which cyclically sends the temperature value. Due to the fact that the temperature in the room does not change that fast the loss of individual probes is completely acceptable.
Messages uploaded by a device are being forwarded to Bosch IoT Things using a best-effort approach. Protocol adapters may discard messages sent with QoS 0 if, for example, there is a partial service interruption or the system experiences an extraordinary high rate of message transfers.
Messages uploaded by a device are being forwarded to Bosch IoT Things in a reliable way. Protocol adapters will try to persist messages sent with QoS 1 to short term storage and, depending on the outcome and the device protocol capabilities, will send a corresponding (negative) acknowledgement back to the device. Bosch IoT Things will then read these messages from short term storage and process them. Note that a positive acknowledgement does not imply that your business application has received and processed the message. On the other hand, a device should consider the message transfer failed if it receives a negative acknowledgement from the protocol adapter. The device may then try to send the message again or discard the message altogether.
Telemetry messages in short term storage will be deleted after several minutes. Messages that need to be kept for a longer period of time should be sent as Events instead.