본문으로 건너뛰기

메트릭 - Use Cases

OCPP v1.6​

통신 품질 메트릭 전송​

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

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

MeterValue.sampledValue.context는 Sample.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분 주기(정각 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과 동일합니다.