Application design considerations

When setting up a station database and designing a connected application to interact with a station via Sentience, consider carefully the type of data you want to export to Sentience, and its expected use.

Points versus Histories

Cloud proxy points and cloud history exports use the same Sentience message structure to send data to the cloud. The two mechanisms push data into the same database. Therefore, you should choose whether to export station data using histories or points based upon the nature of the data and its usage. Differences between the way point and history information is collected and sent to Sentience may influence your design.

Cloud proxy points use a batch snapshot approach to export point data. At assigned intervals, three batch update threads collect a current snapshot of each source point's value and status. They add these data to the list of batch updates, which are subject to tuning rules that determine if a point update should be sent. At last, they send these values to Sentience. If the update interval is 5 minutes, the driver sends the value once every 5 minutes. If the point experiences a value change in between update intervals, an update is not reported, only the value at the 5 minute interval is sent. This is analogous to an interval history extension in Niagara.

Cloud proxy points can be put into a COV (change of value) mode, where the driver sends every point value and status change to Sentience, which is subject to change tolerance (refer to ”Configuring Tuning Policy”). However, this is inefficient. Instead of sending thousands of points per message as is possible with batch updates, the driver sends every point change as an individual message. Due to limitations with the Sentience IoT Hub, it is recommended to not use more than 20 COV points at a time, and only for debug and diagnostic purposes. It is not recommended to use COV as a normal operation mechanism.

 NOTE: Retrieving real-time data for Sentience Connected Application developers: To obtain point values, use the CloudMultiPointReadCommand to request multiple point values. For pushing values,use the CloudMultiPointWriteCommand to send multiple values to the station at once. 

CloudHistoryExport can export all histories in the database, including histories imported from other stations (for example, using drivers like BACnet, OBIX, and NiagaraDriver) to Sentience. The history extension that generates the records or imports them from the foreign device governs the collection frequency for the history. CloudHistoryExport retrieves all records that have not yet been sent for a history, and includes them in the update message sent to Sentience.

 NOTE: Capturing every point change: The best way to push every point change to Sentience without missing any value changes would be to add a Niagara CovHistoryExt to the point, so that every point change is captured to a Niagara history. Then use a CloudHistoryExport to export the history records in bulk. 

It is important to note that JACE platforms have a limit to the number of histories they can contain. This is an inherent OS limit due to the number of allowed file descriptors, one of which is consumed by each history. While the exact number you might be able to reach in an individual station depends on several variables, the general limit is no more than 6000 histories included in a history database resident on a JACE-8000. This limit does not apply to Windows-based Supervisor stations, nor to Linux-based Supervisor. There is no defined limit on the maximum number of cloud proxy points, although you are still subject to space limitations and to driver licensing restrictions.