CVS Endpoint

The following table describes unique properties in the CVS endpoint section of the sample_appsettings.json file used to publish real-time data. See CygNet Service Endpoints for the common properties for all service endpoints.

Property Description Required Property: Value Example

publish

Specifies the real-time data to be published to the target. Multiple points can be published by creating custom filter rules. The CVS endpoint contains properties that describe the following:

yes

"publish": [

{

"pointTag": "CYGNET.UIS::METERFAC1.TEMP",

"historicalRollup": {

"type": "ThinMinMax",

"unit": "Minutes",

"period": 10,

"topOfUnit": 0

},

"pollingFreq": 60000

},

{

"facilityFilter": "facility_id='METERFAC2' or (facility_id='998800*' and facility_desc='PK*')"

},

{

"pointFilter": "activestatus='Y' and facilityid='METERFAC3'",

"pollingFreq": 10000

},

{

"facilityFilter": "facility_desc='PL*'",

"pointFilter": "uniformdatacode='PRESS'",

"qualityOfService": "Low"

}

]

pointTag

Specifies the point for which real-time data will be published. For the CVS endpoint, pointTag values take the form of "FACILITY.UDC".

Wildcards are not supported in the pointTag member.

no

See publish above.

historicalRollup

Specifies if an historical rollup will be performed for the published point, allowing you to publish only the data that interest you, and publish less often at longer intervals. A rollup refers to the process of taking the raw data from the VHS and condensing it using a calculation or by thinning. The VHS uses an iterator to traverse a list of entries in a VHS and "roll" the values up, effectively compressing the data retrieved in a manner indicated by the rollup type chosen. The historicalRollup object contains the following members:

See History Rollups in the History chapter for more information.

no

See publish above.

"historicalRollup": {

"type": "ThinMinMax",

"unit": "Minutes",

"period": 10,

"topOfUnit": 0

},

type

Specifies the type by which to roll up data for a selected point. Rollup type options are as follows:

  • None (RawData) — Returns all values. This is the default option.
  • ThinMedian — The center entry out of a collection of entries. When the number of entries is even, there are two center entries. In this case, the returned entry is the first entry by timestamp.
  • ThinMinMax — If there are two or more entries in the time period, the minimum and maximum value entries are returned with corresponding timestamps. If there is one entry in the time period, this entry is returned (just once).
  • ThinLast — The last value recorded for a time period.

 

See publish above.

unit

Specifies the time units by which a rollup takes place. This refers to time increments, such as seconds, minutes, hours, or days. Rollup unit options are as follows:

  • None
  • Minutes
  • Hours
  • Days
  • Seconds

 

See publish above.

period

Specifies the time interval by which a rollup type takes place. The rollup period refers to the quantity of units in a period. For example, to rollup 30 days, the RollupPeriod is 30 and the RollupUnit is "days."

 

See publish above.

topofUnit

Specifies the offset value to use if the subunit to the major unit does not start at the time unit expected. Subunit means whatever unit of time is the next smaller than that defined in RollupUnits.(i.e. hours to a day, minutes to an hour). This provides a method to allow for differences in start of day, time zone, or scheduling.

For example, to accommodate contract days starting at 5 AM, the TopOfDayHour would be 5 (indicating 5 hours from midnight).

 

See publish above.

pollingFreq

The frequency (in ms) used to poll the data specified in this publish object. If none is specified, the defaultPollingFreq is used. Minimum value is 200 ms.

 

See publish above.

facilityFilter

Specify custom filter rules to limit or expand the data published.

Note: facilityFilter can be used alone, or with pointFilter, to target multiple points in a single publish object.

  • See Filtering Data for more information about using these properties together, formatting rules, and examples.

Wildcards are supported anywhere in a point configuration in the facilityFilter and pointFilter members so that you can target multiple points in a single line and publish all points that match the string.

For example, (facility_id='RPOC*' and facility_desc='RTU*'). Wildcards are not supported in the pointTag member.

no

See publish above.

"facilityFilter": "facility_id='METERFAC2' or (facility_id='998800*' and facility_desc='PK*')"

pointFilter

Specify custom filter rules to limit or expand the data published.

Note: pointFilter can be used alone, or with pointTag, to target multiple points in a single publish object.

  • See Filtering Data for more information about using these properties together, formatting rules, and examples.

Wildcards are supported anywhere in a point configuration in the facilityFilter and pointFilter members so that you can target multiple points in a single line and publish all points that match the string.

For example, (facility_id='RPOC*' and facility_desc='RTU*'). Wildcards are not supported in the pointTag member.

no

See publish above.

"pointFilter": "activestatus='Y' and facilityid='METERFAC3'",

You can separate pointTag and pointFilter or include them together in the same object. One of the two is required.

"pointTag": "CYGNET.UIS::METERFAC2:TEMP",

"pointFilter": "facilityid='METERFAC*' and uniformdatacode='PSTATIC'",

qualityOfService

The value used to determine how data is sent to the server in the case of intermittent communication failure. This optional property can be used to override the default quality of service (QoS) specified with defaultQualityOfService. Possible values include:

  • Low — The message delivered to the server at most once
  • Medium — The message delivered to the server at least once
  • High — The message delivered to the server exactly once

no

See publish above.


More: