...
- For simple point data type operation input value = status point value unchanged.
- For double point data type operation input value = 1 if the status point value is "on", else 0.
R3 : Store the operation input value in the cache associated with the Pivot ID received.R4 : List all operations using the received status point as input and apply the following for each of them.
R4R3.1 : Use the values of all operation inputs stored in the cache to compute the operation result based on the operation type:
- OR: Compute the logical OR of all inputs defined as "0 if all inputs are 0, else 1".
R4R3.2 : If one of the inputs is missing in the cache, initialize it with the value was never received, assume its value is 0.
R4R3.3 : Create a new PIVOT object for the output status point and copy to it all fields from the received input status point while converting if needed the <PivotType>
section to match the type of the output status point.
R4R3.4 : Set the following values on the PIVOT object based on the operation type :
- OR:
PIVOT.GTIS.Identifier
= Pivot ID of the output status point- If output is a simple point data type:
PIVOT.GTIS.<PivotType>.stVal
= operation result. - If output is a double point data type:
PIVOT.GTIS.<PivotType>.stVal
= "on" if operation result is 1, else "off". PIVOT.GTIS.<PivotType>.q.Source
= "substituted".
R4R3.5 : Send the generated status point.
R5 R4 : If any of the mandatory PIVOT fields necessary to identify or compute the operation is missing in the received redingreading, no output reading is generated for the operation.
R6 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.
...