Module description

This module allows to compute a boolean operation across multiple input status points in order to produce a single output status point.

The module will cache the values received for each input status point and whenever one of the inputs is received it will compute the result value of the operation and send it.

The types of boolean operations currently available are:


TODO: Diagramme

Configuration

The following attributes are read from the Exchanged data configuration:

Filtering rules

R1 : Only status points with a Pivot ID that appear in at least one of the operations are processed.

R2 : When receiving such status point convert its value to an internal boolean value [0-1] that is later called the operation input value.

R3 : List all operations using the received status point as input and apply the following for each of them.

R3.1 : Use the values of all operation inputs to compute the operation result based on the operation type:

R3.2 : If one of the inputs was never received, assume its value is 0.

R3.3 : Create a new PIVOT object for the output status point and copy to it all fields from the received input status point (convert if needed the <PivotType>  section to match the type of the output status point).

R3.4 : Set the following values on the PIVOT object based on the operation type :

R3.5 : Send the generated status point.

R4 : If any of the mandatory PIVOT fields necessary to identify or compute the operation is missing in the received reading, no output reading is generated for the operation.

R5 : If the input status point received is also the output status point and an output reading was generated with no error, delete the reading of the input status point, else the input reading is forwarded unchanged.

Data processing

Input

This filter plugin expects readings to be a pivot model status point datapoints.

The module uses the identification (Attribute "PIVOT.GTIS.Identifier") of the data to identify the operation to apply.

The data read from the pivots format are :

Output

The generated output data points have the following format: