With the latest update, Bosch IoT Things – the digital twin layer of Bosch IoT Device Management has various changes:
Conditional requests on things
Bosch IoT Things supports modifying, deleting, and retrieving things based on specific conditions of the current thing state.
Conditions are based on RQL expressions and define that a request should only be applied to a thing if the condition is true. All fields of the thing can be used to define the condition.
- If the condition specified in the request is fulfilled, the thing will be updated and an event will be emitted.
- If the condition specified in the request is not fulfilled, the thing is not modified, and no event/change notification is emitted.
Conditional requests are supported via HTTP API, Ditto protocol and Ditto Java Client.
Examples: See concepts > conditional requests
Bosch IoT Things supports now to enrich even “deleted events” with data that existed before the deletion. The existing enrichment functionality (“extraFields” for connections, WebSockets, SSE) has been extended and now also supports to enrich “deleted events”. The data for enrichment is taken from the state just before the deletion.
Example: Imagine that your application listens to the lifecycle events of a thing than is to be deleted, and needs additional information to delete it from other systems as well. For such a case, you can apply event enrichment. For details, see Protocol > Enrichment of events and messages
Note: Deleted events are handled like all other events in Bosch IoT Things without any special care for QoS-1 requirements. Thus, if an IoT application needs to ensure to not miss a “deleted event”, it needs to take special care in the application itself (e.g. use requested-acks on the delete command, and special recovery handling in case of partial execution).
Eclipse Ditto version 2.1.0 has been released
Our open source base –Eclipse Ditto – has been released accordingly. Read the full release notes at https://www.eclipse.org/ditto/release_notes_210.html.
At this occasion, various minor bugs have also been fixed.