OCPP 2.0.1 LogStatusNotification 메시지

  LogStatusNotification 개요 LogStatusNotification은 충전소에서 중앙 시스템(CSMS)으로 보내는 로그 업로드 상태 알림 메시지입니다. 이 메시지는 GetLog 요청에 대한 응답으로 로그 수집, 압축, 업로드의 전체 과정에서 발생하는 상태 변화를 실시간으로 CSMS에 알려 로그 관리의 투명성과 추적성을 제공합니다. 메시지 구조 Request (충전소 → CSMS) { "status": "Uploading", "requestId": 12345, "statusInfo": { "reasonCode": "NoError", "additionalInfo": "업로드 진행률: 45% (2.1MB / 4.7MB)" } } Response (CSMS → 충전소) { "customData": { "vendorId": "LogManager", "data": "Status acknowledged" } } 주요 필드 설명 Request 필드들 status 필드 (필수) 값 설명 BadMessage 잘못된 로그 요청 메시지 Idle 유휴 상태 - 로그 작업 없음 NotSupportedOperation 지원되지 않는 작업 PermissionDenied 권한 거부됨 Uploaded 업로드 완료됨 UploadFailure 업로드 실패 Uploading 업로드 진행 중 AcceptedCanceled 승인되었으나 취소됨 requestId 필드 (필수) 필드명 필수여부 타입 설명 requestId 필수 Integer GetLog 요청의 requestId (요청-응...

OCPP 2.0.1 GetLog 메시지

  GetLog 개요 GetLog는 중앙 시스템(CSMS)에서 충전소로 보내는 로그 파일 요청 메시지입니다. 이 메시지를 통해 CSMS는 충전소의 다양한 로그 파일(보안 로그, 진단 로그 등)을 원격으로 수집하고 분석할 수 있으며, 시스템 모니터링, 문제 진단, 보안 감사 등에 필수적인 기능을 제공합니다. 메시지 구조 Request (CSMS → 충전소) { "logType": "SecurityLog", "requestId": 12345, "retries": 3, "retryInterval": 30, "log": { "remoteLocation": "https://logs.csms.com/upload/station001/security", "oldestTimestamp": "2024-08-15T00:00:00.000Z", "latestTimestamp": "2024-08-20T23:59:59.000Z" } } Response (충전소 → CSMS) { "status": "Accepted", "filename": "security_log_20240820_143052.log", "statusInfo": { "reasonCode": "NoError", "additionalInfo": "보안 로그 업로드가 시작되었습니다" } } 주요 필드 설명 Request 필드들 logType 필드 (필수) 값 설명 DiagnosticsLog 진단 로그 (일반적인 시스템 진단 정보) SecurityL...

OCPP 2.0.1 SecurityEventNotification 메시지

  SecurityEventNotification 개요 SecurityEventNotification은 충전소에서 보안 관련 이벤트가 발생했을 때 중앙 시스템(CSMS)에 즉시 알리는 중요한 메시지입니다. 이 메시지는 보안 위협 탐지, 무단 접근 시도, 시스템 무결성 검증 실패 등 다양한 보안 사건을 실시간으로 보고하여 충전 인프라의 보안을 강화하는 역할을 합니다. 메시지 구조 Request (충전소 → CSMS) { "type": "AttemptedReplayAttacks", "timestamp": "2024-08-20T14:30:00.000Z", "techInfo": "Duplicate message sequence detected from unknown source IP: 192.168.1.100" } Response (CSMS → 충전소) { "customData": { "vendorId": "VendorX", "data": "Security alert acknowledged" } } 주요 필드 설명 Request 필드들 type 필드 (필수) 값 설명 FirmwareUpdated 펌웨어가 업데이트됨 FailedToAuthenticateAtCsms CSMS 인증 실패 CsmsFailedToAuthenticate CSMS가 충전소 인증 실패 SettingSystemTime 시스템 시간 설정 StartupOfTheDevice 장치 시작 ResetOrReboot 리셋 또는 재부팅 SecurityLogWasCleared 보안 로그 삭제됨 ReconfigurationOfSecurityParameters 보안 매개변수 재구성 MemoryExhaus...

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": "FullInve...

OCPP 2.0.1 CancelReservation 메시지

  CancelReservation 개요 CancelReservation은 중앙 시스템(CSMS)이 충전소에 생성된 예약을 취소하기 위해 보내는 메시지입니다. 이 메시지를 통해 사용자 요청, 시스템 오류, 또는 운영상 필요에 의해 기존 예약을 취소하고 해당 EVSE를 다시 일반 사용자에게 개방할 수 있어 예약 시스템의 유연한 관리를 가능하게 합니다. 메시지 구조 Request (CSMS → 충전소) { "reservationId": 123456 } Response (충전소 → CSMS) { "status": "Accepted" } 주요 필드 설명 Request 필드들 필드명 필수여부 타입 설명 reservationId 필수 Integer 취소하려는 예약의 고유 식별자 (ReserveNow의 id와 동일) Response 필드들 필드명 필수여부 타입 설명 status 필수 Enum 예약 취소 요청 처리 결과 status 필드 값 값 설명 Accepted 승인됨 - 예약이 성공적으로 취소됨 Rejected 거부됨 - 예약 취소 실패 (존재하지 않는 예약 ID 등) 실제 사용 예제 예제 1: 정상적인 예약 취소 // Request { "reservationId": 789001 } // Response { "status": "Accepted" } 예제 2: 존재하지 않는 예약 취소 시도 // Request { "reservationId": 999999 } // Response { "status": "Rejected" } 예제 3: 사용자 요청에 의한 예약 취소 // Request { "reservationId": 789002 } // ...

OCPP 2.0.1 ReserveNow 메시지

  ReserveNow 개요 ReserveNow는 중앙 시스템(CSMS)이 충전소의 특정 EVSE를 미리 예약하기 위해 보내는 메시지입니다. 이 메시지를 통해 특정 사용자를 위해 충전기를 일정 시간 동안 예약할 수 있으며, 예약된 EVSE는 지정된 사용자만 사용할 수 있도록 제한되어 충전 서비스의 편의성과 효율성을 향상시킵니다. 메시지 구조 Request (CSMS → 충전소) { "id": 123456, "expiryDateTime": "2024-08-14T12:00:00.000Z", "idToken": { "idToken": "RFID12345678", "type": "ISO14443" }, "evseId": 1, "groupIdToken": { "idToken": "GROUP001", "type": "ISO14443" }, "connectorType": "cType2" } Response (충전소 → CSMS) { "status": "Accepted", "statusInfo": { "reasonCode": "OK" } } 주요 필드 설명 Request 필드들 필드명 필수여부 타입 설명 id 필수 Integer 예약의 고유 식별자 expiryDateTime 필수 DateTime 예약 만료 시간 (ISO 8601 형식) idToken 필수 Object 예약 대상 사용자의 인증 토큰 evseId 선택사항 Integer 예약할 특정 EVSE ID...

OCPP 2.0.1 NotifyReport 메시지

  NotifyReport 개요 NotifyReport는 충전소가 중앙 시스템(CSMS)에게 GetReport 요청에 대한 응답으로 설정값, 상태 정보, 변수 데이터 등의 보고서를 전송하는 메시지입니다. 이 메시지를 통해 충전소의 세부 구성 정보, 운영 상태, 설정 변수들을 중앙에서 모니터링하고 관리할 수 있어 원격 관리 시스템의 핵심 역할을 합니다. 메시지 구조 Request (충전소 → CSMS) { "requestId": 12345, "generatedAt": "2024-08-14T10:30:00.000Z", "reportData": [ { "component": { "name": "ChargingStation" }, "variable": { "name": "AvailabilityState" }, "variableAttribute": [ { "type": "Actual", "value": "Available", "mutability": "ReadOnly" } ] }, { "component": { "name": "EVSE", "instance": "1" }, "variable": { "name": "Power" }, ...