Interface class for datapoint.
Expected behaviour for real datapoint:
- Source value: source value from subsystem/poller
- Source quality: source quality from subsystem/poller
- Source timestamp: source timestamp if applicable, otherwise timestamp of last set-source-value
- Output value: source value if not inhibited/overridden
- Output quality: internal calculation
- Output timestamp: source timestamp if not inhibited/overridden
Expected behaviour for virtual datapoint:
- Source value: not applicable. always default value
- Source quality: GoodQuality (default)
- Source timestamp: not applicable. (default = 0)
- Output value: last set-value
- Output quality: internal calculation
- Output timestamp: timestamp of last set-value operation
Expected behaviour for output datapoint (behave like dummy datapoint):
- Source value: not applicable. always default value
- Source quality: not applicable. (default = GoodQuality)
- Source timestamp: not applicable. (default = 0)
- Output value: not applicable.
- Output quality: not applicable.
- Output timestamp: not applicable.
Expected behaviour for calculated datapoint:
- Source value: expression result
- Source quality: GoodQuality if expression is evaluated successfully
- Source timestamp: timestamp of last expression evaluation
- Output value: expression result if not inhibited/overridden
- Output quality: internal calculation
- Output timestamp: timestamp of last expression evaluation, if not inhibited/overridden
Expected behaviour for metering datapoint:
- Source value: accumulated meter value
- Source quality: quality of last reading value
- Source timestamp: timestamp of last reading value
- Output value: accumulated meter value
- Output quality: internal calculation
- Output timestamp: timestamp of last reading value or last manual adjustment
Metering point uses another datapoint as source datapoint for meter reading value.
Note: Metering point is only supported for number and unsigned data type.
Note: Output point is only supported for number and boolean data type.
Note: Engineering conversion is only supported for REAL datapoint with number/unsigned/double data type.
Note: Deadband check is only supported for REAL datapoint with number/unsigned/double data type.
Note: Alarm concept is not applicable to VIRTUAL and OUTPUT datapoint.
@author Yoga