Module description
This plugin aims to manage system status points. A system status point is a specific type of status points used to transmit technical information on the operating status of the gateway or the equipment to which it is connected
In the current version, the plugin handles the following system status points :
- ACCESS status point
- CONNEXION LOSS status point
The plugin can be extended to add more system status points in the future if needed.
ACCESS status point
The 104 centers must receive an accessibility status point indicating that the connected RTU is still functional.
This status message is generated and sent cyclically. The details of the sent message and its cycling are determined in the configuration.
CONNEXION LOSS status point
In case of a loss of connection with the RTU, the idea is to inform the Center that the connection has been lost. This information is sent as follows:
- A 0 is sent when the RTU is disconnected.
- A 1 is sent to the Center after the end of the GI from the RTU, triggering a request for GI from the Center.
Therefore, the plugin must detect the disconnection of the RTU and the end of the GI issued by the South service to send the information to the Center. In this case, the plugin must create and send a unique and specific datapoint to the North, which will, in turn, transmit it to the Center. This datapoint should be present in the Exchanged_data configuration, tagged with the subtype prt.info.
Since this information is configured as fugitive, it is not necessary to reset the piloting to 0. This implies that the Status Point plugin must be placed before the transient plugin in the sequence of south plugins.
Configuration
ACCESS status point
The configuration of a status point cyclic is present in the Exchanged_data configuration.
An attribute called "ts_syst_cycle" is added to allow the configuration of a status point as cyclic (in seconds).
Example :
{ "label" :"GAMBS_0_TS-SYST_ACCES", "pivot_id" :"xxx", "pivot_type" :"SpsTyp", "pivot_subtypes" : ["acces"], "ts_syst_cycle" :30 "protocols" :[ { "name" :"hnzip", "typeid":"yyy", "address":"zzz" } ] }
CONNEXION LOSS status point
The configuration of the status point in Exchanged_data includes the subtype of the status point. To configure a status point as PRT.INFO, the pivot_subtypes attribute is set to prt.inf.
{ "label" :"GAMBS_0_TS-SYST_ACCES", "pivot_id" :"xxx", "pivot_type" :"SpsTyp", "pivot_subtypes" : ["prt.inf"], "protocols" :[ { "name" :"hnzip", "typeid":"yyy", "address":"zzz" } ] }
Also, a new attribute is configured for PRT.INFO. This attribute allows naming the status reading of the monitored South service.
The format of this attribute is a "string":
"asset": "CONSTAT-1"
Where:
- "asset" is the name of the status transmission asset.
Filtering rules
ACCESS status point
The readings are transmitted without any check or modification.
CONNEXION LOSS status point
The readings are transmitted without any check or modification.
Data processing
ACCESS status point
Input
The cycling of the status point is not conditioned by the reception of data by the module.
Ouput
For each status point configured to be sent cyclically, the generated data is as follows:
For a Simple type data:
- PIVOT.GTIS.Cause.stVal = 3
- PIVOT.GTIS.Identifier = Identifier from the configuration
- PIVOT.GTIS.<TypeDataInExchangedData>.stVal = True
- PIVOT.GTIS.<TypeDataInExchangedData>.t.SecondSinceEpoch (Timestamp of the gateway)
- PIVOT.GTIS.<TypeDataInExchangedData>.q.Source = substituted
- PIVOT.GTIS.TmOrg.stVal = substituted
The type of the status point is read directly from the exchanged_data configuration.
CONNEXION LOSS status point
Input
The plugin listens to the status reading of the associated South service.
If the "connx_status" is in the "not connected" state, the plugin must generate a status point configured with the value 0.
If the "gi_status" is in the "finished" state, the plugin must generate a status piont configured with the value 1.
Output
The plugin generates the status point in its output as follows:
- For a Simple type data:
- PIVOT.GTIS.Cause.stVal = 3
- PIVOT.GTIS.Identifier = Identifier from the configuration
- PIVOT.GTIS.<TypeDataInExchangedData>.stVal = True
- PIVOT.GTIS.<TypeDataInExchangedData>.t.SecondSinceEpoch (gateway timestamp)
- PIVOT.GTIS.<TypeExchnagedData>.q.Source = substituted
- PIVOT.GTIS.TmOrg.stVal = substituted
The type of the status point is read directly from the exchanged_data configuration.