Module description
The south service receives measured values from the station cyclically according to a predefined period.
The period is configurable (30 seconds by default). A measured value is detected as not renewed if it has not been received during the cycling period.
Following the detection of its non-renewal, it is positioned "questionable" and the "OldData" detail is positioned in the gateway and sent to the centers only once through the north service.
When a new measured value is received again from the station, the measured value is then sent with its new value with the corresponding quality and ts.
It's the reception of the first message for a measured value that triggers the non-renewal monitoring functionality.
Measured values cycling OK:
Measured values cycling failed:
Configuration
Attribute | Description | Expected values | Mandatory |
---|---|---|---|
check_period | cycling check period, in seconds | default = 30 | Yes |
Configuration JSON structure
{ "check_period":{ "description":"cycling check period in seconds.", "type":"string", "default":"30", "order":"1", "displayName":"Check period" } }
Filtering rules
R1: The measured values cycling check applies only after receiving a first measured value.
R2: The measured values cycling check applies only to measured values with a "cyclical" cause of transmission.
R3: Outside the scope defined by R1 and R2, readings are passed through without any check or change.
Data processing
Input
This filter plugin expects readings to be a pivot model measured values datapoints.
It uses the identification (attribute "PIVOTTM.GTIM.Identifier") of the datapoint to obtain the context of the measured value in order to :
- Update the date of reception of the measured value,
- Know which measured value to read again in order to send the non-renewal message at the end of the timer.
The module uses the data PIVOTTM.GTIM.Cause.stVal (at "cyclic") to determine if the measured value is configured as cyclic.
Output
In case of non-renewal detection, the last measured value received by the module is re-read and the following values are overwritten :
- PIVOTTM.GTIM.MvTyp.q.DetailQuality.oldData is set to "true"
- PIVOTTM.GTIM.MvTyp.q.Validity is set to "questionable"
- PIVOTTM.GTIM.MvTyp.q.Source is set to "substituted"
- PIVOTTM.GTIM.MvTyp.t.SecondSinceEpoch is set to current gateway timestamp
- PIVOTTM.GTIM.MvTyp.t.TimeQuality is set to the quality of the timestamp of the gateway (optional).
- PIVOTTM.GTIM.TmOrg is set to "substituted"
- PIVOTTM.GTIM.TmValidity is set to to the quality of the timestamp of the gateway
- PIVOTTM.GTIM.Cause.stVal is set to "3" (Spontaneous)
If it's impossible to obtain timestamp quality of the gateway from Fledge :
- The value valid is used for PIVOTTM.GTIM.TmValidity.stVal,
- PIVOTTM.GTIM.MvTyp.t.TimeQuality attribute are not used.