Add explicit support for request/response communication pattern (device to application)
See original GitHub issueThis issue is about a use case where a device sends a request message and expects a corresponding response from a northbound application.
Such a scenario can already be implemented with Hono. The device can send a telemetry/event message with a correlation id property/parameter and with a ttd
parameter (signaling its readiness to receive a command message). The northbound application can send a one-way command message as response, including the given correlation id. Upon receiving the command message, the device can correlate the message to its initial telemetry/event message using the correlation id.
However, such a solution is not very intuitive and requires manual correlation of the messages.
Therefore it would be good to explore the feasibility of adding explicit support for such a communication pattern, including correlation support and matching endpoint names.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:3
- Comments:14 (12 by maintainers)
Top GitHub Comments
I’m not sure if the Ditto shall implement push state. This could be tricky. In order to push state, Ditto shall do that via commands (the only way Hono supports).
FMPOV Ditto would need to be responsible to push the desired state to a device while the device is responsible to report its current state. However, Ditto needs to support the desired/reported states in order for that to work. I do not think that a device should need to pull the desired state from the back end. We deliberately provided means for devices to signal their intention to receive messages from the back end applications. Ditto would simply need to use it as a trigger to push the desired state to the device using a command …