Custom Datatypes or Enumerations
Enumerations
MeasurandEnumType
OCPP 표준 Measurand 열거형에 아래 값을 추가로 정의합니다.
| Value | Description | Location | UnitOfMeasure |
|---|---|---|---|
| DemandResponse.Apply | 수요반응(DR) 적용 여부 | Body | Percent |
| DemandResponse.User.Agreement | 수요반응(DR) 사용자 동의 여부 | Body | Percent |
| MAC.Address | 차량 MAC 주소 | Body | — |
| PowerModule.Bit | 충전 중 파워모듈별 가용/동작 BIT 상태. 8바이트 HEX 문자열 | Body | — |
| PowerModule.Status | 충전 완료 시점의 정상 파워모듈 개수. 1바이트 HEX 값 | Body | — |
| Voltage.EV.Requested | EV가 실제로 요청한 충전 전압 | EV | V |
| Current.EV.Requested | EV가 실제로 요청한 충전 전류 | EV | A |
| Voltage.PowerModule.Requested | EVSE가 파워모듈에 요청한 출력 전압 | Body | V |
| Current.PowerModule.Requested | EVSE가 파워모듈에 요청한 출력 전류 | Body | A |
| Voltage.PowerModule.Available | 파워모듈이 출력 가능한 전압 | Body | V |
| Current.PowerModule.Available | 파워모듈이 출력 가능한 전류 | Body | A |
아래 두 값은 커스텀이 아니라 OCPP v2.1 표준 MeasurandEnumType에 정의된 값입니다. OCPP v1.6에서도 동일한 의미로 사용합니다.
| Value | Description | Location | UnitOfMeasure |
|---|---|---|---|
| Display.RemainingTimeToMinimumSOC | 최소 SOC(Bulk)까지 남은 충전 시간 | Body | s |
| Display.RemainingTimeToTargetSOC | 목표 SOC(Full)까지 남은 충전 시간 | Body | s |
PowerModule.Bit의 첫 번째 바이트 bit 7은 포맷 버전 판별자로 사용합니다. 상세 규칙은 파워모듈 BIT 전송을 참고하세요.
PowerModule.Status의 상세 규칙은 충전 완료 파워모듈 상태 전송을 참고하세요.
Voltage.EV.Requested, Current.EV.Requested, Voltage.PowerModule.Requested, Current.PowerModule.Requested, Voltage.PowerModule.Available, Current.PowerModule.Available, Display.RemainingTimeToMinimumSOC, Display.RemainingTimeToTargetSOC의 전송 방식은 충전 중 주기적 데이터 전송을 참고하세요.
ChargingProfilePurposeEnumType
OCPP 표준 ChargingProfilePurpose 열거형에 아래 값을 추가로 정의합니다.
| Value | Description |
|---|---|
| DemandResponse | 수요반응(DR) 제어를 위한 충전 프로파일. ChargePointMaxProfile과 동일하게 동작합니다. |
ReasonEnumType
다음 값들은 설명하는 상황에 알맞게 보내주어야 하며, 상/하위 OCPP 버전에서 지원하는 Enumeration 데이터를 모두 사용해야합니다.
| Value | Description | Standard |
|---|---|---|
| EmergencyStop | 비상 정지 버튼이 눌렸을 때. (실패) | v1.6 |
| EVDisconnected | 케이블 분리 또는 또는 차량과 Gracefully 못하게 통신이 종료된 경우. (성공) | v1.6 |
| HardReset | [Deprecated in 2.0] 하드 리셋 명령 수신. (실패) | v1.6 |
| Local | 사용자가 충전기에서 직접 중지 요청. (성공) | v1.6 |
| Other | 기타 사유 - (사용해야 하는 상황이 있다면 에스케이일렉링크와 협의하십시오) (실패) | v1.6 |
| PowerLoss | 전원 완전 상실. (실패) | v1.6 |
| Reboot | 로컬에서 재시작/리부트가 발생. (실패) | v1.6 |
| Remote | CSMS에서 원격으로 중지 요청. (성공) | v1.6 |
| SoftReset | [Deprecated in 2.0] 소프트 리셋 명령 수신. (실패) | v1.6 |
| UnlockCommand | [Deprecated in 2.0] 잠금 해제 명령 수신. (성공) | v1.6 |
| DeAuthorized | 인증 상태로 인해 트랜잭션이 중지됨. (실패) | v2.0.1 |
| EnergyLimitReached | 최대 에너지 전송 한도 도달. (성공) | v2.0.1 |
| GroundFault | 접지 오류 발생. (실패) | v2.0.1 |
| ImmediateReset | 즉시 리셋 명령 수신. (실패) | v2.0.1 |
| LocalOutOfCredit | 충전소에서 설정한 로컬 크레딧 한도 초과. (성공) | v2.0.1 |
| MasterPass | 마스터 패스 그룹 토큰으로 트랜잭션 중지. (성공) | v2.0.1 |
| OvercurrentFault | 과전류 발생. (실패) | v2.0.1 |
| PowerQuality | 전력 품질 저하(전압 이상, 위상 불균형 등). (실패) | v2.0.1 |
| SOCLimitReached | 차량이 최대 배터리 충전 상태(SOC)에 도달함을 보고. (성공) | v2.0.1 |
| StoppedByEV | 차량에서 직접 트랜잭션 중지. (성공) | v2.0.1 |
| TimeLimitReached | 최대 시간 한도 도달. (성공) | v2.0.1 |
| Timeout | 시간 내 차량 미연결. (실패) | v2.0.1 |
| ReqEnergyTransferRejected | 요청한 에너지 전송 타입을 CSMS가 수락 불가. (실패) | v2.1 |
UnitPriceEnumType
단가 구분을 명시하는 열거형입니다. GetUnitPrice에서 사용됩니다.
| Value | Description |
|---|---|
| Member | 회원단가 |
| NonMember | 비회원단가 |
| Proportional | 상태비례단가 |
PaymentMethodEnumType
결제 방식을 구분하는 열거형입니다. PaymentInfo DataTransfer에서 사용됩니다.
| Value | Description |
|---|---|
| kWh | 전력량 단위 결제 (Wh 단위) |
| Money | 금액 단위 결제 (KRW 단위) |
PaymentInfoEnumType
결제 정보 처리 유형을 구분하는 열거형입니다. PaymentInfo DataTransfer에서 사용됩니다.
| Value | Description |
|---|---|
| Prepaid | 선결제 |
| PostPaid | 실결제 |
| PartialCancel | 부분 취소 |
| FullCancel | 전체 취소 |
| Finalize | 확정 (최종 결제 확정) |
| PG_Prepaid | Offline-PG 선결제 |
| PG_PartialCancel | Offline-PG 부분 취소 |
| PG_Finalize | Offline-PG 확정 (최종 결제 확정) |
AdditionalInfoEnumType
AdditionalInfoType의 type 필드에서 이용됩니다.
| Value | Description | Usage |
|---|---|---|
| ManualCardNumber | 카드번호 직접 입력 시 비밀번호 | 카드번호 직접 입력 인증 |
| VehiclePassword | 차량번호 인증 시 사용자 비밀번호 | 차량번호 2단계 인증 |
| CarPayAction | CarPay 수동 인증 동작 구분 | CarPay 수동 조회/확정 |
| TempAuthKey | 임시 인증키 | 차량번호 2단계 인증, CarPay 수동 확정 |
CarPayAction 사용 시 additionalIdToken 값은 다음 중 하나여야 합니다.
| additionalIdToken | Description |
|---|---|
| CarPayManualLookup | 차량번호 뒷 4자리 조회 요청 |
| CarPayManualConfirm | 전체 차량번호 확인 요청 |
SmartChargeCertificateInstallEnumType
인증서 설치 타입을 구분하는 열거형입니다.
| Value | Description |
|---|---|
| Initial | 초기 설치 |
| Renewal | 갱신 |
| Delete | 폐기 |
MemberEnumType
사용자 인증 회원 멤버십 종류를 구분하는 열거형입니다.
| Value | Description |
|---|---|
| MEMBER | 회원 |
| NON_MEMBER | 비회원 |
| ROAMING | 로밍 |
DayOfWeekEnumType
운영 스케줄 항목의 적용 요일을 구분하는 열거형입니다. SetOperatingSchedule DataTransfer에서 사용됩니다.
| Value | Description |
|---|---|
| MON | 월요일 |
| TUE | 화요일 |
| WED | 수요일 |
| THU | 목요일 |
| FRI | 금요일 |
| SAT | 토요일 |
| SUN | 일요일 |
| ALL | 전체 요일 |
Datatypes
VehicleListResponseType
차량번호 인증 1단계에서 조회된 차량번호 목록을 전달하기 위해 사용됩니다. personalMessage.content에 JSON 문자열로 전송됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| type | String | Required | 고정값: "vehicleList" |
| vehicles | Array<String> | Required | 조회된 차량번호 목록 |
| tempAuthKey | String | Required | 임시 인증키 (1분간 유효) |
CarPayManualLookupResponseType
CarPay 수동 인증에서 차량번호 뒷 4자리로 조회된 전체 차량번호를 전달하기 위해 사용됩니다. personalMessage.content에 JSON 문자열로 전송됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| type | String | Required | 고정값: "carPayManualLookup" |
| vehicles | Array<String> | Required | 조회된 차량번호 목록 |
| tempAuthKey | String | Required | 임시 인증키 (1분간 유효) |
SmartChargeCertificateInfoType
스마트 충전 인증서 정보를 나타내는 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| chargerCertificate | String | Required | |
| chargerPrivateKey | String | Required | |
| kecoServerCertificate | String | Required |
SmartChargeBatteryDataSetType
VAS 배터리 데이터를 나타내는 데이터 타입입니다. BatteryInfo DataTransfer에서 사용됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| timeStamp | DateTime | Optional | 배터리 정보 취득 시간 |
| sessionDuration | String | Optional | 배터리 정보교환 TCP 세션 연결 지속시간 |
| counter | String | Optional | 배터리 정보교환 프레임 전송 횟수 (일련번호) |
| batteryData | String | Required | 암호화된 배터리 정보 (base64 인코딩) |
RemoteStartTransactionAdditionalInfoType
원격 충전 시작시 사용하는 데이터 타입입니다.
memberType이NON_MEMBER일 경우에만paymentMethod,demandValue필드가 들어옵니다.
| Field | Type | Required | Description |
|---|---|---|---|
| currency | String | Required | fixed "KRW" |
| unitPrice | String | Required | kWh/원 단가 |
| memberType | MemberEnumType | Required | 사용자 멤버십 종류 |
| paymentMethod | PaymentMethodEnumType | Optional | 결제 방식 |
| demandValue | Number | Optional | 요구 값 (paymentMethod - kWh: Wh 단위, Money: KRW 단위) |
| memberInfo | MemberInfoType | Optional | 회원 유형 상세 정보 |
MemberInfoType
회원 유형 상세 정보를 나타내는 데이터 타입입니다. GetUnitPrice 응답의 Proportional 타입과 RemoteStartTransaction의 additionalInfo에서 사용됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| memberType | MemberEnumType | Required | 회원 유형 (MEMBER, NON_MEMBER, ROAMING) |
| roamingCompanyCode | String | Optional | 로밍 기관 코드 (memberType이 ROAMING인 경우) |
| roamingCompanyName | String | Optional | 로밍 기관명 (memberType이 ROAMING인 경우) |
AdProfileType
GetAdProfile 응답의 profile 객체 데이터 타입입니다. 하나의 광고 그룹이 하나의 프로파일로 수신됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| version | String | Required | 프로파일 버전 |
| validUntil | String | Required | 프로파일 유효 만료 시각. 이 시각 이후 재요청 필요 |
| items | Array<AdProfileItemType> | Required | 모든 유효 스케줄의 미디어 아이템을 합산한 목록 |
AdProfileItemType
AdProfileType의 items 배열에서 사용되는 개별 미디어 아이템 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| mediaKey | String | Required | 미디어 파일 식별 키 (UUID) |
| displayOrder | Number | Required | 재생 순서 |
| durationSec | Number | Required | 재생 시간 (초) |
AdMediaType
GetAdMedia 응답에서 사용되는 광고 미디어 파일 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| mediaKey | String | Required | 미디어 파일 식별 키 (UUID) |
| fileName | String | Required | 원본 파일명 |
| contentType | String | Required | MIME 타입 (예: image/jpeg) |
| fileSize | Number | Required | 파일 크기 (bytes) |
| uri | String | Required | 미디어 파일 다운로드 URL |
OperatingScheduleEntryType
SetOperatingSchedule DataTransfer에서 사용되는 운영 스케줄 항목 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| connectorId | Number | Optional | 적용 대상 커넥터 번호. null이면 전체 커넥터에 적용 |
| dayOfWeek | DayOfWeekEnumType | Required | 적용 요일 |
| startTime | String | Required | 운영 시작 시간 (HH:mm 형식, utcOffset 기준 로컬 시간) |
| endTime | String | Required | 운영 종료 시간 (HH:mm 형식, utcOffset 기준 로컬 시간) |