OCPP 2.0.1 GetBaseReport 메시지

 

GetBaseReport 개요

GetBaseReport는 중앙 시스템(CSMS)이 충전소에게 기본 구성 정보 보고서를 요청하는 메시지입니다. 이 메시지를 통해 충전소의 기본 설정값, 지원 기능, 하드웨어 정보 등의 핵심 데이터를 수집하여 중앙에서 충전소를 효율적으로 관리하고 모니터링할 수 있습니다.

메시지 구조

Request (CSMS → 충전소)

{
  "requestId": 12345,
  "reportBase": "FullInventory"
}

Response (충전소 → CSMS)

{
  "status": "Accepted"
}

주요 필드 설명

Request 필드들

필드명 필수여부 타입 설명
requestId 필수 Integer 보고서 요청의 고유 식별자
reportBase 필수 Enum 요청할 보고서의 기본 유형

reportBase 필드 값

설명
ConfigurationInventory 설정 가능한 변수들의 목록 및 현재 값
FullInventory 모든 컴포넌트, 변수, 속성의 전체 정보
SummaryInventory 주요 컴포넌트와 기본 정보의 요약

Response 필드들

필드명 필수여부 타입 설명
status 필수 Enum 보고서 요청 처리 상태

status 필드 값

설명
Accepted 승인됨 - 보고서 생성 시작, NotifyReport로 응답 예정
Rejected 거부됨 - 보고서 생성 불가능
NotSupported 미지원 - 해당 보고서 타입을 지원하지 않음

실제 사용 예제

예제 1: 전체 인벤토리 보고서 요청

// Request
{
  "requestId": 100001,
  "reportBase": "FullInventory"
}

// Response
{
  "status": "Accepted"
}

예제 2: 설정 인벤토리 보고서 요청

// Request
{
  "requestId": 100002,
  "reportBase": "ConfigurationInventory"
}

// Response
{
  "status": "Accepted"
}

예제 3: 요약 인벤토리 보고서 요청

// Request
{
  "requestId": 100003,
  "reportBase": "SummaryInventory"
}

// Response
{
  "status": "Accepted"
}

예제 4: 지원되지 않는 보고서 타입 요청

// Request
{
  "requestId": 100004,
  "reportBase": "CustomInventory"
}

// Response
{
  "status": "NotSupported"
}

처리 흐름

  1. 보고서 필요: CSMS가 충전소의 기본 구성 정보가 필요하다고 판단
  2. 요청 전송: 원하는 보고서 타입으로 GetBaseReport 전송
  3. 충전소 확인: 요청된 보고서 타입 지원 여부 확인
  4. 응답 처리:
    • Accepted: 보고서 생성 시작
    • Rejected/NotSupported: 요청 거부
  5. 보고서 생성: 백그라운드에서 요청된 데이터 수집 및 정리
  6. 데이터 전송: NotifyReport 메시지를 통해 실제 보고서 데이터 전송
  7. 완료 확인: 모든 데이터가 전송될 때까지 반복

보고서 타입별 포함 내용

FullInventory

  • 모든 컴포넌트 정보 (ChargingStation, EVSE, Connector 등)
  • 모든 변수와 속성값
  • 하드웨어 및 소프트웨어 정보
  • 지원 기능 목록
  • 네트워크 설정 정보

ConfigurationInventory

  • 설정 가능한 변수들만 선별
  • 현재 설정값과 기본값
  • 변경 가능 여부 (mutability)
  • 설정 범위 (min/max 값)

SummaryInventory

  • 기본 충전소 정보
  • EVSE 개수 및 상태
  • 주요 설정값만 요약
  • 펌웨어 버전 등 핵심 정보

중요 포인트

  • 이 메시지는 CSMS에서 충전소로 보내는 정보 수집 요청 메시지입니다
  • 응답은 즉시 처리 상태만 알리고, 실제 데이터는 NotifyReport로 별도 전송됩니다
  • requestId는 NotifyReport와 매칭하여 어떤 요청에 대한 응답인지 식별합니다
  • 보고서 생성은 시간이 오래 걸릴 수 있어 비동기적으로 처리됩니다
  • FullInventory는 데이터량이 많아 여러 개의 NotifyReport로 분할 전송될 수 있습니다
  • 충전소 초기 설정, 정기 점검, 문제 진단 시 주로 사용됩니다
  • 보고서 생성 중에도 충전소의 정상 운영에는 영향을 주지 않아야 합니다
  • 네트워크 상태에 따라 보고서 전송이 지연될 수 있습니다
  • 중복 요청을 방지하기 위해 고유한 requestId를 사용해야 합니다

관련 메시지와의 연관성

  • NotifyReport: 실제 보고서 데이터를 전송하는 응답 메시지
  • GetReport: 특정 컴포넌트나 변수만 조회할 때 사용
  • SetVariables: 보고서에서 확인한 설정값을 변경할 때 사용

일반적인 사용 시나리오

  • 초기 구성: 새로 설치된 충전소의 기본 정보 수집
  • 정기 감사: 주기적인 구성 정보 확인 및 업데이트
  • 문제 진단: 장애 발생 시 현재 설정 상태 확인
  • 업그레이드 준비: 펌웨어/소프트웨어 업그레이드 전 현재 상태 백업
  • 규정 준수: 규제 요구사항에 따른 정기 보고서 생성

이 메시지를 통해 중앙 시스템은 충전소의 전체적인 구성과 상태를 체계적으로 파악하고 관리할 수 있어, 효율적인 운영과 예방적 유지보수를 통해 충전 서비스의 안정성과 품질을 지속적으로 향상시킬 수 있습니다.