The time in a Mesh network shall be the same in every node. The SIG time model describes how to transfer time from one node to another. We already implemented this time model in our project. (Reference: SIG Mesh Model Specification 1.0.1, chapter 5, Time and Scenes).
But there is no procedure for handling the time distribution in the Mesh to keep all nodes in sync without external time source. As soon as every node reaches an uncertainty of 255 all time transfer stops and each node's time drifts away. After letting the Mesh run for weeks or even months every node runs on its own time.
This is a problem as we use the scheduler for turning on or off lights and other devices at a specific time. Even if the scheduled time is the same on all nodes the devices will switch at different times. After a long time the difference could be really large.
So my question is how to keep the Mesh in sync even without external time source. Is there any standard procedure? Does anybody have a good solution for this application?