Filter Plugin For Breakover Prediction

foglamp-filter-breakover forecast the possibility of breakover. The output of this plugin can appear as follows

asset_reading

1. Setting up your artifacts

The trained model from keras needs to be in .h5 format for its usage in this filter.

models/
├── breakover_forecasting_model.tflite
└── breakover_forecasting_model.h5

2. Setting up bucket

ML Model Upload Screen

  1. Make sure foglamp-gui-ml-models and foglamp-service-bucket is installed. If not, install these.

  2. Click on “ML Models” in FogLAMP GUI

  3. Click on import, and set the appropriate values. Then upload the prepared model above. e.g.

Name: "breakover_model.h5"
Architecture: All
Hardware: CPU
Version: "1.0"
Description: ""
File: "models/breakover_forecasting_model.h5"

3. Setting up plugin configuration

Configuring the filter, starts with selecting the filter and giving an application name for it. The screen will look like the following.

Plugin Screen 1

Following this the next screen will have the plugin configuration as shown below:

cfg2_enable

  • ‘Add performance counters’: type: `boolean` default: ‘false’:

    Add performance counters metadata containing resource utilization statistics.

  • ‘Log level’: type: `enumeration` default: ‘INFO’:

    Log level for diagnostic or error output.

    Options are:

    • ERROR

    • WARN

    • INFO

    • DEBUG

  • ‘Enabled’: type: `boolean` default: ‘false’:

    Enable breakover forecast filter plugin.

cfg2_inference

  • ‘Sequence size’: type: `integer` default: ‘10.0’:

    Sequence size that is to be used for breakover forecasting.

  • ‘Inference interval’: type: `float` default: ‘1.0’:

    Time interval after which the data will be passed through the model.

  • ‘Inference interval unit’: type: `enumeration` default: ‘seconds’:

    Time interval unit.

    Options are:

    • seconds

    • minutes

    • hours

cfg2_ml_model

  • ‘Model name’: type: `string` default: ‘breakover_forecasting_model.tflite’:

    Model to be loaded from bucket service.

  • ‘Model version’: type: `string` default: ‘1.0’:

    Model version as stored in bucket.

cfg2_inputs

List of objects are to be added in this group. Object properties are as below:

  • ‘Asset name’: type: `string` default: ‘asset_1’:

    Enter input asset name.

  • ‘Datapoint name’: type: `string` default: ‘datapoint_1’:

    Enter input datapoint name.

  • ‘Feature type’: type: `enumeration` default: ‘Boolean’:

    Datatype of the feature.

    Options are:

    • Boolean

    • Numeric

  • ‘Boolean Scaling strategy’: type: `enumeration` default: ‘None’:

    The strategy that is to be used for data scaling of boolean feature.

    Options are:

    • None

    • Custom Encoded

  • ‘Numeric Scaling strategy’: type: `enumeration` default: ‘None’:

    The strategy that is to be used for data scaling of numeric feature.

    Options are:

    • None

    • Custom Robust

    • Normalization

    • Robust

    • Standardization

  • ‘Minimum’: type: `float` default: ‘-1.0’:

    Enter minimum value for data rescaling.

  • ‘Median’: type: `float` default: ‘-1.0’:

    Enter median value for data rescaling.

  • ‘Mean’: type: `float` default: ‘-1.0’:

    Enter mean value for data rescaling.

  • ‘Maximum’: type: `float` default: ‘-1.0’:

    Enter maximum value for data rescaling.

  • ‘Interquartile range’: type: `float` default: ‘-1.0’:

    Enter interquartile range value for data rescaling.

  • ‘Standard deviation’: type: `float` default: ‘-1.0’:

    Enter standard deviation value for data rescaling.

cfg2_output

  • ‘Forward data’: type: `boolean` default: ‘true’:

    Whether to forward received PLC data down the filter chain.

  • ‘Asset name’: type: `string` default: ‘breakover’:

    Name of asset that indicates breakover forecast.

  • ‘Score datapoint’: type: `string` default: ‘forecast_score’:

    Name of datapoint that indicates breakover forecast score.

  • ‘Add state wise datapoint’: type: `boolean` default: ‘false’:

    Add separate datapoint for state wise forecast.

  • ‘Prefix for state wise datapoint’: type: `string` default: ‘forecast_imminent_’:

    Prefix of datapoint name that indicates state wise breakover forecast.

  • ‘Forecasted state datapoint’: type: `string` default: ‘forecasted_state’:

    Name of datapoint that indicates state/level of the breakover forecast.

  • ‘Return forecasted state’: type: `enumeration` default: ‘State ID’:

    Whether to return forecasted state name or state ID.

    Options are:

    • State name

    • State ID

cfg2_post_process

  • ‘State name’: type: `string` default: ‘healthy’:

    Enter the state name.

  • ‘State id’: type: `integer` default: ‘0’:

    Enter the state id.

  • ‘Technique’: type: `enumeration` default: ‘Score above threshold’:

    Select the post processing technique to be used.

    Options are:

    • Score above threshold

    • Rolling measure above threshold

    • Score above threshold for x duration

    • Rolling measure above threshold for x duration

  • ‘Rolling window length’: type: `integer` default: ‘1’:

    Number of last score values that is to be used for breakover forecasting.

  • ‘Rolling measure name’: type: `enumeration` default: ‘Average’:

    Measure to calculate on the scores value present in the window.

    Options are:

    • Summation

    • Minimum

    • Average

    • Median

    • Maximum

    • Standard Deviation

    • Variance

  • ‘Threshold’: type: `float` default: ‘0.5’:

    Threshold to apply on the calculated measure value.

  • ‘Duration cutoff’: type: `integer` default: ‘1’:

    The amount of time the post processed score should remain above threshold (in seconds).

Click on Done when ready.

See Also

foglamp-filter-ADM_LD_prediction - Filter to detect whether a large discharge is required for a centrifuge

foglamp-filter-edgeml - Filter which takes image data, calls out to ML process, and forwards the inference from ML as asset contents.

foglamp-filter-expression - A FogLAMP processing filter plugin that applies a user define formula to the data as it passes through the filter

foglamp-filter-fft - A FogLAMP processing filter plugin that calculates a Fast Fourier Transform across sensor data

foglamp-filter-log - A FogLAMP filter that converts the readings data to a logarithmic scale. This is the example filter used in the plugin developers guide.

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-rms - A FogLAMP processing filter plugin that calculates RMS value for sensor data

foglamp-filter-scale-set - A FogLAMP processing filter plugin that applies a set of sale factors to the data

foglamp-filter-specgram - FogLAMP filter to generate spectrogram images for vibration data

foglamp-filter-statistics - Generic statistics filter for FogLAMP data that supports the generation of mean, mode, median, minimum, maximum, standard deviation and variance.

foglamp-filter-vibration_features - A filter plugin that takes a stream of vibration data and generates a set of features that characterise that data

foglamp-south-Expression - A FogLAMP south plugin that uses a user define expression to generate data