This is no longer supported.
- Java - version 1.8 and up.
- Apache License 2.0
This is a library for building DSA historians using sdk-dslink-java-v2. An overview of DSA can be found here.
This library implements a node hierarchy with functionality that should be common to most implementations.
This is a generic library for building historians. Implementation Main Nodes must subclass HistoryMainNode which is required to provide an instance of HistoryProvider.
This section outlines the hierarchy of nodes defined by this link.
- Main - Add database nodes here.
- Database - Represents a database instance.
- History Group Folder - History groups can be organized with folders.
- History Group - A history group defines a collection strategy for
all of it's descendant histories.
- History Folder - Histories can be organized with folders.
- History Watch - A specific path to be trended.
- Numeric History Simulator - Simulates a history using on a sine wave.
- Boolean History Simulator - Randomly simulates a boolean history.
- History Folder - Histories can be organized with folders.
- History Group - A history group defines a collection strategy for
all of it's descendant histories.
- History Group Folder - History groups can be organized with folders.
- Database - Represents a database instance.
This is the root node of the link. It allows you to add database nodes.
Values
- Enabled - Can be used to disable history collection for the entire link.
- Status - The health or condition of the link.
- Status Text - Description for the current status.
Actions
- New Database - Create a new database node.
Represents a unique database as defined by the specific implementation.
Values
- Enabled - Can be used to disable trending and history queries.
- Status - The health or condition of the node.
- Status Text - Description for the current status.
- State - State of the database connection: connecting, connected, disconnecting or disconnected.
- Last OK - Timestamp of last successful communication with the database.
- Last Fail - Timestamp of last failed connection to the database.
Actions
- Apply Aliases - Put history aliases on all history subscriptions.
- Overwrite - overwrite an existing alias.
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy of this object and its subtree.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- New
- Group Folder - Add a folder for organizing history groups.
- History Group - Add a new history group.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
Represents a set of histories with a common collection strategy.
Values
- Enabled - Can be used to disable trending.
- Status - The health or condition of the node.
- Status Text - Description for the current status.
- Interval - Set to collect on a regular interval. Can be combined with COV.
- COV - Set to on to enable change of value collection. Use min interval to throttle and max interval to ensure records get written with some regularity.
- Min COV Interval - Regulates the minimum interval between records.
- Max Records - The maximum number of records to maintain in each history.
- Max Age - The oldest record to retain in each history.
Actions
- Import History - Given a path to a node with a get history action, will create a history child and clone the target history.
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy of this object and its subtree.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- New
- Folder - Add a folder for organizing histories.
- History - Add a new history.
- Apply Aliases - Put history aliases on all history subscriptions.
- Overwrite - overwrite an existing alias to another path.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
Use to organize history groups.
Actions
- Import History - Given a path to a node with a get history action, will create a history child and clone the target history.
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy of this object and its subtree.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- New
- Group Folder - Add a folder for organizing history groups.
- History Group - Add a new history group.
- Apply Aliases - Put history aliases on all history subscriptions.
- Overwrite - overwrite an existing alias to another path.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
Subscribes to a path to create history records.
Values
- Enabled - Can be used to disable trending.
- Status - The health or condition of the node.
- Status Text - Description for the current status.
- Watch Path - Path to subscribe to.
- Watch Type - The type of the data source. Set on the first subscription update.
- Watch Value - Current value of the watch path.
- Watch Status - Current status of the watch path.
- Watch Timestamp - Timestamp of the the watch value and status.
- First Timestamp - The earliest record in the history.
- Last Timestamp- The last record in the history.
- Record Count - The total number of records in the history.
- Timezone - Timezone of the data source.
- Units - Units of the data source. Only applies to numeric types.
- Precision - The number of decimal places. Only applies to numeric types.
- Totalized - When true, the historian will automatically delta values in history queries.
Only applies to numeric types.
Actions
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy this object.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- Get History - Queries the history and returns a table. The options are:
- Time Range -
- Interval -
- Rollup -
- Apply Alias - Put a history alias on the subscribed point.
- Overwrite - overwrite an existing alias to another path.
- Add Record - Adds a record to the history.
- Time Range - Date time range of the query.
- Interval - The time interval of the results.
- Rollup - How to combine multiple values in an interval.
- Real Time - Whether or not to continue to stream values as new records are created.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
- Overwrite Records - Writes a new value to existing records.
- Time Range - Records with timestamps in this range will be modified.
- Value - The new value to write.
- Status - The new status to write.
Simulates a double value using a sine wave. Will build a history using the max age and max number of records configured on the history group. Once the history is built, will continue to append records to it.
Values
- Enabled - Can be used to disable trending.
- Status - The health or condition of the node.
- Status Text - Description for the current status.
- Value - The current value of the simulator.
- Wave Period - The length of time it takes to complete one cycle of a sine wave.
- Wave Height - The height of the sine wave from its least to greatest value.
- Wave Offset - The negative or positive value the a amplitude is centered on.
- Update Rate - The time interval to calculate the current value. How values are stored in the the database is determined by the collection strategy of the parent group.
- First Timestamp - The earliest record in the history.
- Last Timestamp- The last record in the history.
- Record Count - The total number of records in the history.
- Timezone - Timezone of the data source.
- Units - Units of the data source.
- Precision - The number of decimal places.
Actions
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy this object.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- Get History - Queries the history and returns a table. The options are:
- Time Range - Date time range of the query.
- Interval - The time interval of the results.
- Rollup - How to combine multiple values in an interval.
- Real Time - Whether or not to continue to stream values as new records are created.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
- Overwrite Records - Writes a new value to existing records.
- Time Range - Records with timestamps in this range will be modified.
- Value - The new value to write.
- Status - The new status to write.
Randomly simulates a boolean value. Will build a history using the max age and max number of records configured on the history group. Once the history is built, will continue to append records to it.
Values
- Enabled - Can be used to disable trending.
- Status - The health or condition of the node.
- Status Text - Description for the current status.
- Value - The current value of the simulator.
- True Random - When the current value is true, what percent chance does it have to change to false.
- False Random - When the current value is false, what percent chance does it have to change to true.
- Update Rate - The time interval to calculate the current value. How values are stored in the the database is determined by the collection strategy of the parent group.
- First Timestamp - The earliest record in the history.
- Last Timestamp- The last record in the history.
- Record Count - The total number of records in the history.
- Timezone - Timezone of the data source.
- True Text - Display text for true values.
- False Text - Display text for false values.
Actions
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy this object.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- Get History - Queries the history and returns a table. The options are:
- Time Range - Date time range of the query.
- Interval - The time interval of the results.
- Rollup - How to combine multiple values in an interval.
- Real Time - Whether or not to continue to stream values as new records are created.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
- Overwrite Records - Writes a new value to existing records.
- Time Range - Records with timestamps in this range will be modified.
- Value - The new value to write.
- Status - The new status to write.
Use to organize histories.
Actions
- Import History - Given a path to a node with a get history action, will create a history child and clone the target history.
- Edit
- Delete - Delete this object and it's subtree. There are two types of delete:
- Node Only - Only remove the node from the tree.
- Node and Data - Remove the node and all backing data.
- Duplicate - Make a copy of this object and its subtree.
- Rename - Change the node name.
- Delete - Delete this object and it's subtree. There are two types of delete:
- New
- Folder - Add a folder for organizing histories.
- History - Add a new history.
- Apply Aliases - Put history aliases on subscribed points.
- Overwrite - overwrite an existing alias to another path.
- Purge - Removes records in the given time range from all histories in the subtree.
- Time Range - Records with timestamps in this range are removed.
SDK-DSLINK-JAVA
This software contains unmodified binary redistributions of sdk-dslink-java-v2, which is licensed and available under the Apache License 2.0. An original copy of the license agreement can be found at https://github.com/iot-dsa-v2/sdk-dslink-java-v2/blob/master/LICENSE