Asset Join Filter Plugin

The foglamp-filter-asset-join plugin allows the user to join two assets together to create a single asset. The two assets may have readings taken at different times, the filter will interpolated the data to normalise the readings and use the timestamps of one of the readings in the combined readings that will continue along the data pipeline.

The filter is particularly useful in cases where two data sources relate to the same physical asset. It allows the data to be collected from these two sources independently, potentially at different rates, and then be combined into a single stream readings, with a common asset name, for further processing.

Configuration

When adding an asset-join filter to either the south or north, via the Add Application option of the user interface, or drag and drop a new filter on the pipeline if using the graphical flow editor. A configuration page for the filter will be shown as below;

asset_join_01

  • Controlling Asset: The asset that is output from the filter. The readings are the combination of the values from this asset and the Joining Asset.

  • Joining Asset: The asset whose data points will be added, or joined, with the Controlling Asset.

Click on the Enabled option and then click on Done to add the filter.

Joining Process

The following rules are applied to join the data points in the Joining Asset to those in the Controlling Asset.

  • All the data points from the Joining Asset will be added to the Controlling Asset.

  • Datapoints that have the same name in the Joining Asset and the Controlling Asset will use the values in the Controlling Asset, the values in the Joining Asset will be ignored.

  • The filter will not forward the Joining Asset.

  • All other assets will be passed through the filter unaltered.

  • The timestamp of the newly created reading will be that of the Controlling Asset.

  • Linear interpolation will be used to determine the value of the data point in the Joining Asset to be added to the Controlling Asset.

    interpolation

    The Controlling Asset is shown in red and the Joining Asset is shown in blue in the diagram above. The circles represent the readings for each asset. To enhance clarity, a single data point has been assumed for this representation.

  • The number of readings for the Controlling Asset will determine the number of readings for the joint readings that will be forwarded to the next filter in the pipeline.

See Also

foglamp-filter-asset - A FogLAMP processing filter that is used to block or allow certain assets to pass onwards in the data stream

foglamp-filter-enumeration - A filter to map between symbolic names and numeric values in a datapoint.

foglamp-filter-metadata - A FogLAMP processing filter plugin that adds metadata to the readings in the data stream

foglamp-filter-normalise - Normalise the timestamps of all readings that pass through the filter. This allows data collected at different rate or with skewed timestamps to be directly compared.

foglamp-filter-python35 - A FogLAMP processing filter that allows Python 3 code to be run on each sensor value.

foglamp-filter-regex - Regular expression filter to match & replace the string datapoint values

foglamp-filter-rename - A FogLAMP processing filter that is used to modify the name of an asset, datapoint or both.

foglamp-filter-sam - A single Asset Model filter for creating a semantic model of an asset from one or more data sources