GetChargingProfiles 개요
GetChargingProfiles는 중앙 시스템(CSMS)이 충전소에게 현재 설정되어 있는 충전 프로파일 정보를 조회하도록 요청하는 메시지입니다. 이는 중앙 시스템이 충전소의 현재 충전 제한 설정을 확인하거나, 프로파일 관리 상태를 모니터링하고자 할 때 사용됩니다.
메시지 구조
Request (CSMS → 충전소)
{
"requestId": 12345,
"evseId": 1,
"chargingProfile": {
"chargingProfilePurpose": "TxProfile",
"stackLevel": 2,
"chargingProfileId": [101, 102],
"chargingLimitSource": ["EMS", "CSO"]
}
}
Response (충전소 → CSMS)
{
"status": "Accepted",
"statusInfo": {
"reasonCode": "ProfilesFound",
"additionalInfo": "2 profiles matching criteria"
}
}
주요 필드 설명
Request 필드들
requestId 필드 (필수)
필드명 |
필수여부 |
타입 |
설명 |
requestId |
필수 |
Integer |
요청 식별자 (ReportChargingProfiles 메시지와 매칭) |
evseId 필드 (선택사항)
필드명 |
필수여부 |
타입 |
설명 |
evseId |
선택사항 |
Integer |
특정 EVSE의 프로파일만 조회 (0이면 충전소 레벨) |
chargingProfile 필드 (선택사항)
필드명 |
필수여부 |
타입 |
설명 |
chargingProfilePurpose |
선택사항 |
Enum |
조회할 프로파일의 목적 |
stackLevel |
선택사항 |
Integer |
조회할 프로파일의 스택 레벨 |
chargingProfileId |
선택사항 |
Integer Array |
조회할 특정 프로파일 ID 목록 |
chargingLimitSource |
선택사항 |
Enum Array |
충전 제한 소스 필터 |
chargingProfilePurpose 값
값 |
설명 |
ChargingStationMaxProfile |
충전소 최대 전력 프로파일 |
TxDefaultProfile |
트랜잭션 기본 프로파일 |
TxProfile |
특정 트랜잭션 프로파일 |
chargingLimitSource 값
값 |
설명 |
EMS |
에너지 관리 시스템 |
Other |
기타 소스 |
SO |
시스템 운영자 |
CSO |
충전소 운영자 |
Response 필드들
필드명 |
필수여부 |
타입 |
설명 |
status |
필수 |
Enum |
프로파일 조회 요청 처리 상태 |
statusInfo |
선택사항 |
Object |
추가 상태 정보 |
status 필드 값
값 |
설명 |
Accepted |
승인됨 - 조회 요청이 처리되어 ReportChargingProfiles로 응답 예정 |
NoProfiles |
프로파일 없음 - 조건에 맞는 프로파일이 존재하지 않음 |
실제 사용 예제
예제 1: 모든 프로파일 조회
// Request
{
"requestId": 12345
}
// Response
{
"status": "Accepted",
"statusInfo": {
"reasonCode": "AllProfilesRequested",
"additionalInfo": "Retrieving all charging profiles"
}
}
// 이후 충전소가 보내는 ReportChargingProfiles
{
"requestId": 12345,
"chargingLimitSource": "CSO",
"chargingProfile": [
{
"id": 101,
"stackLevel": 1,
"chargingProfilePurpose": "TxDefaultProfile",
"chargingProfileKind": "Absolute",
"chargingSchedule": [
{
"id": 1,
"startSchedule": "2024-08-14T06:00:00.000Z",
"duration": 28800,
"chargingRateUnit": "A",
"chargingSchedulePeriod": [
{
"startPeriod": 0,
"limit": 32.0
}
]
}
]
}
]
}
예제 2: 특정 EVSE의 트랜잭션 프로파일 조회
// Request
{
"requestId": 12346,
"evseId": 2,
"chargingProfile": {
"chargingProfilePurpose": "TxProfile"
}
}
// Response
{
"status": "Accepted",
"statusInfo": {
"reasonCode": "EVSETxProfilesRequested",
"additionalInfo": "Retrieving transaction profiles for EVSE 2"
}
}
예제 3: 특정 스택 레벨과 소스의 프로파일 조회
// Request
{
"requestId": 12347,
"chargingProfile": {
"stackLevel": 3,
"chargingLimitSource": ["EMS"]
}
}
// Response
{
"status": "Accepted",
"statusInfo": {
"reasonCode": "FilteredProfilesRequested",
"additionalInfo": "Retrieving stack level 3 EMS profiles"
}
}
예제 4: 특정 프로파일 ID 목록 조회
// Request
{
"requestId": 12348,
"chargingProfile": {
"chargingProfileId": [101, 102, 103]
}
}
// Response
{
"status": "Accepted",
"statusInfo": {
"reasonCode": "SpecificProfilesRequested",
"additionalInfo": "Retrieving profiles 101, 102, 103"
}
}
예제 5: 프로파일이 없는 경우
// Request
{
"requestId": 12349,
"evseId": 5,
"chargingProfile": {
"chargingProfilePurpose": "TxProfile"
}
}
// Response
{
"status": "NoProfiles",
"statusInfo": {
"reasonCode": "NoMatchingProfiles",
"additionalInfo": "No transaction profiles found for EVSE 5"
}
}
예제 6: 충전소 레벨 프로파일 조회
// Request
{
"requestId": 12350,
"evseId": 0,
"chargingProfile": {
"chargingProfilePurpose": "ChargingStationMaxProfile"
}
}
// Response
{
"status": "Accepted",
"statusInfo": {
"reasonCode": "StationLevelProfileRequested",
"additionalInfo": "Retrieving charging station max profile"
}
}
처리 흐름
- 조회 요청: CSMS가 특정 조건의 충전 프로파일 조회를 요청
- 프로파일 검색: 충전소가 요청 조건에 맞는 프로파일을 검색
- 즉시 응답: 조회 요청의 수락/거부 상태를 즉시 응답
- 프로파일 전송:
Accepted
응답한 경우, ReportChargingProfiles 메시지로 실제 프로파일 데이터 전송
- 조회 완료: 모든 매칭되는 프로파일 전송 완료
연관 메시지
이 메시지는 다음 메시지와 함께 사용됩니다:
- ReportChargingProfiles: GetChargingProfiles 요청에 대한 실제 프로파일 데이터 응답
- SetChargingProfile: 프로파일 설정 후 확인 목적으로 조회
- ClearChargingProfile: 프로파일 삭제 후 확인 목적으로 조회
중요 포인트
- GetChargingProfiles는 CSMS에서 충전소로만 전송됩니다
requestId
는 필수이며, 이후 ReportChargingProfiles 메시지와 매칭하는 데 사용됩니다
- 모든 조건 필드가 선택사항이므로, 필드를 지정하지 않으면 모든 프로파일이 조회됩니다
evseId
가 0이면 충전소 레벨 프로파일, 양수면 해당 EVSE의 프로파일을 의미합니다
status
가 Accepted
인 경우 반드시 ReportChargingProfiles 메시지가 뒤따라야 합니다
- 대용량 프로파일 데이터의 경우 여러 개의 ReportChargingProfiles 메시지로 분할 전송될 수 있습니다
- 조회된 프로파일 정보는 현재 활성 상태와 스케줄 정보를 모두 포함합니다
이 메시지를 통해 중앙 시스템은 충전소의 현재 충전 제한 설정을 실시간으로 모니터링하고, 프로파일 관리 상태를 정확히 파악할 수 있습니다.