본문으로 건너뛰기

메트릭 - Use Cases

OCPP v1.6

통신 품질 메트릭 전송

충전기는 충전 중이 아니더라도 주기적으로 통신 품질 메트릭을 샘플링하여 CSMS로 전송할 수 있습니다. 이는 충전소의 통신 상태를 모니터링하고 네트워크 품질을 관리하기 위한 목적으로 사용됩니다.

주기적 메트릭 전송 요구사항

MeterValue.sampledValue.contextSample.Clock로 설정합니다.

MeasurandUnitDescriptionLocation
RSRQdBReference Signal Received Quality (기준 신호 수신 품질)Body
SINRdBSignal to Interference plus Noise Ratio (신호 대 간섭 및 잡음비)Body
RSRPdBmReference Signal Received Power (기준 신호 수신 전력)Body
RSSIdBmReceived Signal Strength Indicator (수신 신호 강도 지시자)Body
참고사항
  • connectorId는 0으로 설정하여 충전기 전체의 통신 상태를 나타냅니다.
  • transactionId는 포함되지 않도록 합니다.
  • 메트릭 값은 실제 측정된 값으로 전송하며, 측정이 불가능한 경우 해당 메트릭은 제외합니다.
  • 1분에 1번씩 정각(00초)에 샘플링을 해야합니다.

통신 단절 시 데이터 저장

통신이 단절된 경우 충전기는 다음과 같이 처리해야 합니다:

  1. 통신 단절 중에도 메트릭 샘플링을 계속하여야 하며 최대 60건까지 로컬에 저장해야합니다.
  2. 통신이 복구되면 저장된 모든 MeterValues를 순차적으로 전송해야합니다.
  3. 60건을 초과하는 경우 가장 오래된 데이터부터 삭제하고 새로운 데이터를 저장합니다 (FIFO).

MeterValues.req

예시
{
"connectorId": 0,
"meterValue": [
{
"timestamp": "2025-01-15T10:30:00.000Z",
"sampledValue": [
{
"value": "-10.5",
"context": "Sample.Clock",
"measurand": "RSRQ",
"unit": "dB",
"location": "Body"
},
{
"value": "15.2",
"context": "Sample.Clock",
"measurand": "SINR",
"unit": "dB",
"location": "Body"
},
{
"value": "-85.3",
"context": "Sample.Clock",
"measurand": "RSRP",
"unit": "dBm",
"location": "Body"
},
{
"value": "-70.1",
"context": "Sample.Clock",
"measurand": "RSSI",
"unit": "dBm",
"location": "Body"
}
]
}
]
}

OCPP v2.1

OCPP v2.1에서는 MeterValues 메시지가 독립적으로 존재하며, 거래와 무관한 계량값 전송에 사용됩니다. 거래 중 계량값은 TransactionEvent (eventType: Updated)를 통해 전송합니다.

통신 품질 메트릭 전송

거래와 무관한 통신 품질 메트릭은 OCPP v2.1 표준 MeterValues 메시지를 사용하여 전송합니다. 전송 요구사항은 v1.6와 동일합니다.

예시
[
2,
"b914adcc-d113-46de-ad4b-edb168b96045",
"MeterValues",
{
"evseId": 0,
"meterValue": [
{
"timestamp": "2025-01-15T10:30:00.000Z",
"sampledValue": [
{
"value": -10.5,
"context": "Sample.Clock",
"measurand": "RSRQ",
"unitOfMeasure": { "unit": "dB" },
"location": "Body"
},
{
"value": 15.2,
"context": "Sample.Clock",
"measurand": "SINR",
"unitOfMeasure": { "unit": "dB" },
"location": "Body"
},
{
"value": -85.3,
"context": "Sample.Clock",
"measurand": "RSRP",
"unitOfMeasure": { "unit": "dBm" },
"location": "Body"
},
{
"value": -70.1,
"context": "Sample.Clock",
"measurand": "RSSI",
"unitOfMeasure": { "unit": "dBm" },
"location": "Body"
}
]
}
]
}
]
참고사항
  • v2.1에서는 connectorId 대신 evseId를 사용합니다. 충전기 전체의 통신 상태를 나타내려면 evseId: 0을 사용합니다.
  • unit 필드가 unitOfMeasure 객체로 변경되었습니다.
  • 통신 단절 시 데이터 저장 및 복구 전송 요구사항은 v1.6와 동일합니다.