I am working on a BT mesh network where nodes are mostly sleeping (to conserve power) when they wake up, they need to send a sensor reading to another node (which is always on and in transmit range) and then go back to sleep.
The way it currently works is that the nodes have a custom server model and use "status_publish" to send the sensor reading. I used the PyACI to add a subscription as follows:
cc.model_publication_set(addr, MODEL_ID, mt.Publish(1, index=0, ttl=7))
This works, i.e., the main node (unicast address = 1) is receiving the messages. But there is no guarantee and I get no feedback on the sending side if the message was received. So it seems like the messages are sent without being acknowledged. I tried adding a retransmit parameter:
cc.model_publication_set(addr, MODEL_ID, mt.Publish(1, index=0, ttl=7, retransmit=(7, 0)))
But this doesn't seem to change anything. Does it just mean the messages are always transmitted 7 times but not acknowledged?
So, the question is: How do I configure a node to send status messages that are acknowledged by another node?
Thanks!