Our latest service release comes with 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 be applied to a thing only 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, which was available before 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 is executed.
Example: Imagine that your application listens to the lifecycle events of a thing than is to be deleted, and needs additional info in order to delete it from other systems as well.
For such a case, you can apply event enrichment. Find details at Protocol > Enrichment of events and messages.
Note: Deleted events are handled without special care for QoS-1 requirements, like all other events in Bosch IoT Things. Thus, if an IoT application needs to make sure to not miss a “deleted event”, it will need 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.