B.3.11 Solution Set definitions

28.3063GPPControl and monitoring of Power, Energy and Environmental (PEE) parameters Integration Reference Point (IRP)Release 17Solution Set (SS) definitionsTS

B.3.11.1 Solution set definition structure

B.3.11.2 of the present document defines the OpenAPI schema CMONOperations_1.json for the CMONOperations_1 interface defined in 3GPP TS 28.305 [2].

Note: To conform to RESTful principles, B.3.11.2 defines the following additional operation which is not described in 3GPP TS 28.305 [2]

GET /cmonoperations_1/v1/peemonitoredentities

B.3.11.3 of the present document defines the OpenAPI schema CMONOperations_2.json for the CMONOperations_2 interface defined in 3GPP TS 28.305 [2].

Note: To conform to RESTful principles, B.3.11.3 defines the following additional operation which is not described in 3GPP TS 28.305 [2]

GET /cmonoperations_2/v1/peemonitoredentities

B.3.11.4 of the present document defines the OpenAPI schema CMONOperations_3.json for the CMONOperations_3 interface defined in 3GPP TS 28.305 [2].

Note: To conform to RESTful principles, B.3.11.4 defines the following additional operations which are not described in 3GPP TS 28.305 [2]

GET /cmonoperations_3/v1/cmonpmjobs

GET /cmonoperations_3/v1/cmonpmjobs/{CMONPMJobId}

B.3.11.5 of the present document defines the OpenAPI schema CMONNotifications_1.json for the CMONNotifications_1 interface defined in 3GPP TS 28.305 [2].

B.3.11.6 of the present document defines the OpenAPI schema CMONNotifications_2.json for the CMONNotifications_2 interface defined in 3GPP TS 28.305 [2].

B.3.11.7 of the present document defines the OpenAPI schema CMONNotifications_3.json for the CMONNotifications_3 interface defined in 3GPP TS 28.305 [2].

B.3.11.8 of the present document defines the OpenAPI schema CMONNotifications_4.json for the CMONNotifications_4 interface defined in 3GPP TS 28.305 [2].

B.3.11.2 OpenAPI definition "CMONOperations_1.json"

{

"swagger": "2.0",

"info": {

"title": "CMONOperations_1 Interface",

"description": "PEE Monitoring",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonoperations_1/v1",

"produces": [

"application/json"

],

"paths": {

"/peemonitoredentities": {

"get": {

"summary": "Read descriptions for all monitored entities",

"description": "The client can use this method to get a list of all monitored entities and their descriptions.",

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "array",

"items": {

"type": "object",

"properties": {

"meid": {

"type": "string",

"description": "Monitored entity ID"

},

"Description": {

"$ref": "#/definitions/PEEMEDescription"

}

}

}

}

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

},

"/peemonitoredentities/{meid}": {

"get": {

"summary": "Read description for a monitored entity",

"description": "The client can use this method to get the description of an individual monitored entity.",

"parameters": [

{

"in": "path",

"name": "meid",

"description": "Monitored Entity ID",

"required": true,

"type": "string"

}

],

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "object",

"properties": {

"meid": {

"type": "string",

"description": "Monitored entity ID"

},

"Description": {

"$ref": "#/definitions/PEEMEDescription"

}

}

}

},

"404": {

"description": "Invalid identifier"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

},

"patch": {

"summary": "Modify description for a monitored entity",

"description": "The client can use this method to modify the description of an individual monitored entity.",

"parameters": [

{

"in": "path",

"name": "meid",

"description": "Monitored Entity ID",

"required": true,

"type": "string"

},

{

"in": "body",

"name": "Description",

"description": "Attributes of an individual monitored entity.",

"schema": {

"$ref": "#/definitions/PEEMEDescription"

}

}

],

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "object",

"properties": {

"meid": {

"type": "string",

"description": "Monitored entity ID"

},

"Description": {

"$ref": "#/definitions/PEEMEDescription"

}

}

}

},

"404": {

"description": "Invalid identifier"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"PEEMEDescription": {

"type": "object",

"properties": {

"siteIdentification": {

"type": "string",

"description": "Identification of the site of the monitored entity."

},

"siteLatitude": {

"type": "string",

"description": "The latitude of the site location."

},

"siteLongitude": {

"type": "string",

"description": "The longitude of the site location."

},

"siteDescription": {

"type": "string",

"description": "Description of the site of the monitored entity."

},

"equipmentType": {

"type": "string",

"description": "Indicates the type of equipment of the monitored entity."

},

"environmentType": {

"type": "string",

"description": "Indicates the type of environment of the monitored entity."

},

"powerInterface": {

"type": "string",

"description": "Indicates the type of power interface of the monitored entity."

},

"xcuDguDescription": {

"type": "string",

"description": "Description of the XCU/DGU."

},

"sensorDescription": {

"type": "string",

"description": "Description of the sensor."

},

"vSRmsDescription": {

"type": "string",

"description": "Description of the VS-RMS."

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

B.3.11.3 OpenAPI definition "CMONOperations_2.json"

{

"swagger": "2.0",

"info": {

"title": "CMONOperations_2 Interface",

"description": "PEE Configurations",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonoperations_2/v1",

"produces": [

"application/json"

],

"paths": {

"/peemonitoredentities": {

"get": {

"summary": "Read configurations for all monitored entities",

"description": "The client can use this method to get a list of all monitored entities and their configurations.",

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "array",

"items": {

"type": "object",

"properties": {

"meid": {

"type": "string",

"description": "Monitored entity ID"

},

"Configuration": {

"$ref": "#/definitions/PEEMEConfiguration"

}

}

}

}

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

},

"/peemonitoredentities/{meid}": {

"get": {

"summary": "Read configuration for a monitored entity",

"description": "The client can use this method to get the configuration of an individual monitored entity",

"parameters": [

{

"in": "path",

"name": "meid",

"description": "Monitored Entity ID",

"required": true,

"type": "string"

}

],

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "object",

"properties": {

"meid": {

"type": "string",

"description": "Monitored entity ID"

},

"Configuration": {

"$ref": "#/definitions/PEEMEConfiguration"

}

}

}

},

"404": {

"description": "Invalid identifier"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

},

"put": {

"summary": "Modify configuration for a monitored entity",

"description": "The client can use this method to modify the configuration of an individual monitored entity.",

"parameters": [

{

"in": "path",

"name": "meid",

"description": "Monitored Entity ID",

"required": true,

"type": "string"

},

{

"in": "body",

"name": "PEEMEConfigurationData",

"description": "Configuration data.",

"schema": {

"$ref": "#/definitions/PEEMEConfiguration"

}

}

],

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"$ref": "#/definitions/PEEMEConfiguration"

}

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"PEEMEConfiguration": {

"type": "object",

"description": "Threshold values. Threshold monitoring is disabled for an attribute if the threshold is empty or undefined.",

"properties": {

"powerMinThreshold": {

"type": "string",

"description": "Threshold value for minimum power usage"

},

"powerMaxThreshold": {

"type": "string",

"description": "Threshold value for maximum power usage"

},

"temperatureMinThreshold": {

"type": "string",

"description": "Threshold value for minimum temperature"

},

"temperatureMaxThreshold": {

"type": "string",

"description": "Threshold value for maximum temperature"

},

"voltageMinThreshold": {

"type": "string",

"description": "Threshold value for minimum voltage"

},

"voltageMaxThreshold": {

"type": "string",

"description": "Threshold value for maximum voltage"

},

"currentMinThreshold": {

"type": "string",

"description": "Threshold value for minimum current"

},

"currentMaxThreshold": {

"type": "string",

"description": "Threshold value for maximum current"

},

"humidityMinThreshold": {

"type": "string",

"description": "Threshold value for minimum humidity"

},

"humidityMaxThreshold": {

"type": "string",

"description": "Threshold value for maximum humidity"

},

"reportingURL": {

"type": "string",

"description": "The URL where notifications should be sent when any threshold is reached or crossed"

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

B.3.11.4 OpenAPI definition "CMONOperations_3.json"

{

"swagger": "2.0",

"info": {

"title": "CMONOperations_3 Interface",

"description": "PEE Performance Monitoring",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonoperations_3/v1",

"produces": [

"application/json"

],

"paths": {

"/cmonpmjobs": {

"get": {

"summary": "Read list of performance monitoring jobs",

"description": "Read a list of all performance monitoring jobs and their attributes.",

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "array",

"items": {

"type": "object",

"properties": {

"cmonpmjobid": {

"type": "string",

"description": "The performance monitoring job ID."

},

"CMONPMJobData": {

"$ref": "#/definitions/CMONPMJob"

}

}

}

}

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

},

"post": {

"summary": "Create new performance monitoring job",

"description": "The client can use this method to create a new performance monitoring job.",

"parameters": [

{

"in": "body",

"name": "CMONPMJobData",

"description": "Measurement configuration for CMON PM job.",

"schema": {

"$ref": "#/definitions/CMONPMJob"

}

}

],

"responses": {

"201": {

"description": "Created",

"headers": {

"Location": {

"description": "Link to new performance monitoring job",

"type": "string"

}

},

"schema": {

"type": "object",

"properties": {

"cmonpmjobid": {

"type": "string",

"description": "The performance monitoring job ID."

},

"CMONPMJobData": {

"$ref": "#/definitions/CMONPMJob"

}

}

}

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

},

"/cmonpmjobs/{CMONPMJobId}": {

"get": {

"summary": "Read a single performance monitoring job",

"description": "Read the value of all attributes of an individual performance monitoring job.",

"parameters": [

{

"in": "path",

"name": "CMONPMJobId",

"description": "Performance monitoring job ID",

"required": true,

"type": "string"

}

],

"responses": {

"200": {

"description": "The request was accepted and completed",

"schema": {

"type": "object",

"properties": {

"cmonpmjobid": {

"type": "string",

"description": "The performance monitoring job ID."

},

"CMONPMJobData": {

"$ref": "#/definitions/CMONPMJob"

}

}

}

},

"404": {

"description": "Invalid identifier"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

},

"delete": {

"summary": "Delete a single performance monitoring job",

"description": "The client can use this method to delete a performance monitoring job.",

"parameters": [

{

"in": "path",

"name": "CMONPMJobId",

"description": "Performance monitoring job ID",

"required": true,

"type": "string"

}

],

"responses": {

"204": {

"description": "The resource was deleted"

},

"404": {

"description": "Invalid identifier"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"CMONPMJob": {

"type": "object",

"properties": {

"meIdList": {

"type": "array",

"description": "List of monitored entities",

"items": {

"type": "string",

"description": "Identification of monitored entity."

}

},

"measurementNames": {

"type": "array",

"description": "List of measurements",

"items": {

"type": "string",

"description": "Measurement name.",

"enum": [

"powerAverage",

"powerMin",

"powerMax",

"energyConsumption",

"temperatureAverage",

"temperatureMin",

"voltageAverage",

"voltageMin",

"voltageMax",

"currentAverage",

"currentMin",

"currentMax",

"humidityAverage",

"humidityMin",

"humidityMax"

]

}

},

"granularityPeriod": {

"type": "integer",

"description": "The period (in minutes) between two successive measurements.",

"enum": [ 5, 15, 30, 60, 720, 1440 ]

},

"reportingURL": {

"type": "string",

"description": "The URL where notifications should be sent."

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

B.3.11.5 OpenAPI definition "CMONNotifications_1.json"

{

"swagger": "2.0",

"info": {

"title": "CMONNotifications_1 Interface",

"description": "PEE Performance Measurement Reporting",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonnotifications_1/v1",

"produces": [

"application/json"

],

"paths": {

"/": {

"post": {

"summary": "New performance measurement report",

"description": "The client can use this method to submit a new performance measurement report.",

"parameters": [

{

"in": "body",

"name": "CMONPMReport",

"description": "Measurement report for CMON PM job.",

"schema": {

"$ref": "#/definitions/CMONPMReport"

}

}

],

"responses": {

"204": {

"description": "Created"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"CMONPMReport": {

"type": "object",

"properties": {

"notificationHeader": {

"description": "Header information for the notification",

"properties": {

"notificationId": {

"type": "string",

"description": "Unique identifier of the notification"

},

"senderInfo": {

"description": "Information about the sender of the notification",

"properties": {

"senderName": {

"type": "string",

"description": "The name of the sender"

},

"senderType": {

"type": "string",

"description": "The type of the sender"

},

"vendorName": {

"type": "string",

"description": "The name of the vendor of the sender"

}

}

}

}

},

"measurementHeader": {

"description": "Header information for the measurement",

"properties": {

"measFormatVersion": {

"type": "string",

"description": "The format version of the measurement data collection"

},

"collectionBeginTime": {

"type": "string",

"description": "The start of the measurement collection interval "

},

"cmonpmjobid": {

"type": "string",

"description": "The performance monitoring job ID"

}

}

},

"measurementData": {

"type": "array",

"items": {

"type": "object",

"properties": {

"meId": {

"type": "string",

"description": "Identification of monitored entity."

},

"measurementInfo": {

"type": "array",

"items": {

"$ref": "#/definitions/MeasurementInfo"

}

}

}

}

},

"measurementFooter": {

"description": "Footer information for the measurement",

"properties": {

"collectionEndTime": {

"type": "string",

"description": "The end of the measurement collection interval"

}

}

}

}

},

"MeasurementInfo": {

"type": "object",

"properties": {

"measurementName": {

"type": "string",

"description": "Measurement name.",

"enum": [

"powerAverage",

"powerMin",

"powerMax",

"energyConsumption",

"temperatureAverage",

"temperatureMin",

"voltageAverage",

"voltageMin",

"voltageMax",

"currentAverage",

"currentMin",

"currentMax",

"humidityAverage",

"humidityMin",

"humidityMax"

]

},

"measurementValue": {

"type": "string",

"description": "Measurement value."

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

B.3.11.6 OpenAPI definition "CMONNotifications_2.json"

{

"swagger": "2.0",

"info": {

"title": "CMONNotifications_2 Interface",

"description": "PEE Fault Reporting",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonnotifications_2/v1",

"produces": [

"application/json"

],

"paths": {

"/": {

"post": {

"summary": "New fault notification",

"description": "The client can use this method to submit a new fault report.",

"parameters": [

{

"in": "body",

"name": "CMONAlarm",

"description": "Fault notification for CMON alarm.",

"schema": {

"$ref": "#/definitions/CMONAlarm"

}

}

],

"responses": {

"204": {

"description": "Created"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"CMONAlarm": {

"type": "object",

"properties": {

"notificationHeader": {

"description": "Header information for the notification",

"properties": {

"notificationId": {

"type": "string",

"description": "Unique identifier of the notification"

},

"senderInfo": {

"description": "Information about the sender of the notification",

"properties": {

"senderName": {

"type": "string",

"description": "The name of the sender"

},

"senderType": {

"type": "string",

"description": "The type of the sender"

},

"vendorName": {

"type": "string",

"description": "The name of the vendor of the sender"

}

}

}

}

},

"alarmInformation": {

"description": "Alarm details",

"properties": {

"alarmId": {

"type": "string",

"description": "The fault report ID"

},

"alarmTime": {

"type": "string",

"description": "Time at which the alarm was raised"

},

"alarmType": {

"type": "string",

"description": "See Event Types in TS 32.111-2 – Annex A"

},

"perceivedSeverity": {

"type": "string",

"description": "Alarm severity, see ITU-T Recommendation X.733",

"enum": [

"Critical",

"Major",

"Minor",

"Warning",

"Cleared"

]

},

"probableCause": {

"type": "string",

"description": "See Probable Causes in TS 32.111-2 – Annex B"

},

"additionalText": {

"type": "string",

"description": "Further information on the alarm"

}

}

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

B.3.11.7 OpenAPI definition "CMONNotifications_3.json"

{

"swagger": "2.0",

"info": {

"title": "CMONNotifications_3 Interface",

"description": "PEE Configuration Change Reporting",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonnotifications_3/v1",

"produces": [

"application/json"

],

"paths": {

"/": {

"post": {

"summary": "New configuration change notification",

"description": "The client can use this method to submit a new configuration change report.",

"parameters": [

{

"in": "body",

"name": "CMONConfigChange",

"description": "Configuration change notification.",

"schema": {

"$ref": "#/definitions/CMONConfigChange"

}

}

],

"responses": {

"204": {

"description": "Created"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"CMONConfigChange": {

"type": "object",

"properties": {

"notificationHeader": {

"description": "Header information for the notification",

"properties": {

"notificationId": {

"type": "string",

"description": "Unique identifier of the notification"

},

"senderInfo": {

"description": "Information about the sender of the notification",

"properties": {

"senderName": {

"type": "string",

"description": "The name of the sender"

},

"senderType": {

"type": "string",

"description": "The type of the sender"

},

"vendorName": {

"type": "string",

"description": "The name of the vendor of the sender"

}

}

}

}

},

"configurationChangeInformation": {

"description": "Configuration change details",

"properties": {

"meId": {

"type": "string",

"description": "Monitored entity ID"

},

"attributes": {

"type": "array",

"items": {

"type": "object",

"properties": {

"attributeName": {

"type": "string",

"description": "Name of the PEEMEDescription attribute which has changed",

"enum": [

"siteIdentification",

"siteLatitude",

"siteLongitude",

"siteDescription",

"equipmentType",

"environmentType",

"powerInterface",

"xcuDguDescription",

"sensorDescription",

"vSRmsDescription"

]

},

"attributeValue": {

"type": "string",

"description": "New value of the attribute"

}

}

}

}

}

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

B.3.11.8 OpenAPI definition "CMONNotifications_4.json"

{

"swagger": "2.0",

"info": {

"title": "CMONNotifications_4 Interface",

"description": "PEE Threshold Reporting",

"version": "1.0.0"

},

"host": "www.example.org",

"schemes": [

"http",

"https"

],

"basePath": "/cmonnotifications_4/v1",

"produces": [

"application/json"

],

"paths": {

"/": {

"post": {

"summary": "New threshold notification",

"description": "The client can use this method to submit a new threshold report.",

"parameters": [

{

"in": "body",

"name": "CMONThreshold",

"description": "Threshold notification.",

"schema": {

"$ref": "#/definitions/CMONThreshold"

}

}

],

"responses": {

"204": {

"description": "Created"

},

"default": {

"description": "Unexpected error",

"schema": {

"$ref": "#/definitions/Error"

}

}

}

}

}

},

"definitions": {

"CMONThreshold": {

"type": "object",

"properties": {

"notificationHeader": {

"description": "Header information for the notification",

"properties": {

"notificationId": {

"type": "string",

"description": "Unique identifier of the notification"

},

"senderInfo": {

"description": "Information about the sender of the notification",

"properties": {

"senderName": {

"type": "string",

"description": "The name of the sender"

},

"senderType": {

"type": "string",

"description": "The type of the sender"

},

"vendorName": {

"type": "string",

"description": "The name of the vendor of the sender"

}

}

}

}

},

"thresholdEventInformation": {

"description": "Threshold event details",

"properties": {

"meId": {

"type": "string",

"description": "Monitored entity ID"

},

"thresholdInfo": {

"description": "Threshold event details",

"properties": {

"thresholdName": {

"type": "string",

"description": "Name of the threshold which has been reached or crossed",

"enum": [

"powerMinThreshold",

"powerMaxThreshold",

"temperatureMinThreshold",

"temperatureMaxThreshold",

"voltageMinThreshold",

"voltageMaxThreshold",

"currentMinThreshold",

"currentMaxThreshold",

"humidityMinThreshold",

"humidityMaxThreshold"

]

},

"thresholdValue": {

"type": "string",

"description": "Configured threshold value"

},

"observedValue": {

"type": "string",

"description": "Actual value of the attribute"

}

}

}

}

}

}

},

"Error": {

"type": "object",

"properties": {

"message": {

"type": "string"

}

}

}

}

}

Annex C (informative):
Change history

Change history

Date

Meeting

TDoc

CR

Rev

Cat

Subject/Comment

New version

2018-03

SA#79

SP-180073

Presented for approval

2.0.0

2018-03

SA#79

Upgrade to change control version

15.0.0

2020-07

Update to Rel-16 version (MCC)

16.0.0

2022-03

Update to Rel-17 version (MCC)

17.0.0