Hi!
In a Bluetooth mesh, we would like to get a feedback message from a group of nodes, via a reply message, after sending a message to the group.
The Bluetooth blog writes:
"Messages may be sent as replies to other messages, or they may be unsolicited messages. When a model sends a reply message, it uses the message originator’s source address as the destination address. When sending an unsolicited message, it uses the model’s publish address as the destination address."
blog.bluetooth.com/the-fundamental-concepts-of-bluetooth-mesh-networking-part-2
However, in our mesh where we use devices equipped with NRF52832:
when a node is sending an acknowledged message to group of 5 nodes, all nodes seem to try to reply,
but almost every time there is at least one reply message that is not arriving to the original sender node.
To mitigate the situation, we tried the following:
- say the sender node is called S
- say the group of five nodes are subscribing to (members of) group address C001
- let one of the nodes, P, in group C001 have a publish address set to another group address: C000
- let S subscribe to C000
- have S send an unacknowledged message to C001, at which point node P is publishing its feedback message to C001, which is then received by S
This approach works, but is problematic:
- Quite a lot of deliberate configuration is needed
- How is the situation handled if the publishing node P is lost or replaced
///
Questions
Is there any more established, idiomatic way to handle feedback from groups?
We've also experienced (in general) that some replies are not received by a mobile app connected to a proxy node.
Are there any restrictions or special configuration that is needed for replies to reach a proxy node? (e.g. will relayed messages always arrive)