Hello Vimal,
The isHistorical flag is used to indicate to the host application that the specific metric is not current state data but one that was stored or cached at the edge node at some time in the past.
The implementation allows the host application to effectively "recover" data that normally would be lost due to a communication outage between the host application and the MQTT Server.
In your edge node implementation, you could have a situation where your application is detecting data changes (from the node and device implementation) and is not connected to an MQTT Server. In this situation your application may store these data changes and the timestamp of the change so when the connection is restored, this older data may be provided to the host.
When creating the NDATA and DDATA metric updates, use the timestamp when the change was detected and set the isHistorical flag.
When the host receives NDATA and DDATA updates and detects a true isHistorical, the host uses the timestamp of the metric to know the date at which the change occurred.
Bryce