Air Conditioner

디바이스 프로파일

지원하는 기능은 모델과 국가에 따라 다를 수 있습니다.

Property

Resource Property Value

Module Class

Type

Name

Type

R/W

Value

Description

airConJobMode

(모드)

Object

 

currentJobMode

(운전모드)

Enum

RW

COOL

냉방운전

RW

AIR_DRY

제습운전

RW

FAN

송풍

RW

AUTO

자동운전

RW

HEAT

난방

RW

AIR_CLEAN

공기청정

RW

AROMA

아로마

RW

ENERGY_SAVING

Energy Saving

operation

(동작)

Object

airConOperationMode

(본체 동작)

Enum

RW

POWER_ON

에어컨 가동 시작

RW

POWER_OFF

에어컨 가동 중지

airCleanOperationMode

(공기청정 단독동작)

Enum

W

START

공기 청정 단독 모드 시작

W

STOP

공기 청정 단독 모드 정지

temperature

(온도)

Object

currentTemperature

Number

R

 

현재온도

targetTemperature

Range

RW

 

희망온도

heatTargetTemperature

Range

W

 

난방 희망온도

coolTargetTemperature

Range

W

 

냉방 희망온도

autoTargetTemperature Range W   자동 희망온도

unit

(단위)

Enum

R

C

섭씨

twoSetTemperature

Object

currentTemperature

(현재온도)

Number

R

   

heatTargetTemperature

(난방 희망온도)

Range

RW

   

coolTargetTemperature

(냉방 희망온도)

Range

RW

   

unit

(단위)

Enum

R

C

섭씨

timer

(타이머)

Object

relativeHourToStart

Number

RW

 

켜짐 예약시간 - 시

relativeMinuteToStart

RW

 

켜짐 예약시간 - 분

relativeHourToStop

RW

 

꺼짐 예약시간 - 시

relativeMinuteToStop

RW

 

꺼짐 예약시간 - 분

absoluteHourToStart

RW

 

지정한 켜짐 예약시각 - 시

absoluteMinuteToStart

RW

 

지정한 켜짐 예약시각 - 분

absoluteHourToStop

RW

 

지정한 꺼짐 예약시각 - 시

absoluteMinuteToStop

RW

 

지정한 꺼짐 예약시각 - 분

sleepTimer

(슬립 타이머)

Object

relativeHourToStop

Number

RW

 

꺼짐 예약시간 - 시

relativeMinuteToStop

Number

RW

 

꺼짐 예약시간 - 분

powerSave

(절전)

Object

powerSaveEnabled

(절전설정)

Boolean

RW

TRUE

절전 설정

RW

FALSE

절전 해제

airFlow

(바람 설정)

Object

windStrength

(바람세기)

Enum

RW

SLOW

미풍

RW

LOW

약풍

RW

MID

중풍

RW

HIGH

강풍

RW

POWER

파워

RW

AUTO

자동

airQualitySensor

(공기질)

Object

PM1

Number

R

 

PM1.0 (극초미세먼지 농도)

PM2

Number

R

 

PM2.5 (초미세먼지 농도)

PM10

Number

R

 

PM10 (미세먼지 농도)

oder

Number

R

 

냄새 농도 값

odor Number R   냄새 농도 값
odorLevel Enum R INVALID INVALID
R WEAK 약함
R NORMAL 보통
R STRONG 강함
R VERY_STRONG 매우 강함

humidity

Number

R

 

습도 값

totalPollution

Number

R

 

종합 공기 청정도

totalPollutionLevel Enum R INVALID INVALID
R GOOD 약함
R NORMAL 보통
R BAD 강함
R VERY_BAD 매우 강함

monitoringEnabled

(센서 모니터링 설정)

Enum

RW

ON_WORKING

센서 모니터링 - 운전중만

RW

ALWAYS

센서 모니터링 - 항상

상대적인 시간 예약에 대한 분 단위 예약은 권장하지 않습니다. 따라서 relativeMinuteToStartrelativeMinuteToStop 프로퍼티 값은 0으로 설정해야 합니다.

Notification (Push Message)

Push Code

Description

WATER_IS_FULL

물이 가득 찼습니다.

JSON

#Air Conditioner
{
  "notification": {
    "push": [
      "WATER_IS_FULL"
    ]
  },
  "property": {
    "airConJobMode": {
      "currentJobMode": {
        "mode": [
          "r",
          "w"
        ],
        "type": "enum",
        "value": {
          "r": [
            "AIR_CLEAN",
            "COOL",
            "AIR_DRY"
          ],
          "w": [
            "AIR_CLEAN",
            "COOL",
            "AIR_DRY"
          ]
        }
      }
    },
    "airFlow": {
      "windStrength": {
        "mode": [
          "r",
          "w"
        ],
        "type": "enum",
        "value": {
          "r": [
            "LOW",
            "HIGH",
            "MID"
          ],
          "w": [
            "LOW",
            "HIGH",
            "MID"
          ]
        }
      }
    },
    "airQualitySensor": {
      "PM1": {
        "mode": [
          "r"
        ],
        "type": "number"
      },
      "PM10": {
        "mode": [
          "r"
        ],
        "type": "number"
      },
      "PM2": {
        "mode": [
          "r"
        ],
        "type": "number"
      },
      "humidity": {
        "mode": [
          "r"
        ],
        "type": "number"
      },
      "monitoringEnabled": {
        "mode": [
          "r",
          "w"
        ],
        "type": "boolean",
        "value": {
          "r": [
            false,
            true
          ],
          "w": [
            false,
            true
          ]
        }
      },
      "oder": {
        "mode": [
          "r"
        ],
        "type": "number"
      },
      "totalPollution": {
        "mode": [
          "r"
        ],
        "type": "number"
      }
    },
    "operation": {
      "airCleanOperationMode": {
        "mode": [
          "w"
        ],
        "type": "enum",
        "value": {
          "w": [
            "START",
            "STOP"
          ]
        }
      },
      "airConOperationMode": {
        "mode": [
          "r",
          "w"
        ],
        "type": "enum",
        "value": {
          "r": [
            "POWER_ON",
            "POWER_OFF"
          ],
          "w": [
            "POWER_ON",
            "POWER_OFF"
          ]
        }
      }
    },
    "powerSave": {
      "powerSaveEnabled": {
        "mode": [
          "r",
          "w"
        ],
        "type": "boolean",
        "value": {
          "r": [
            false,
            true
          ],
          "w": [
            false,
            true
          ]
        }
      }
    },
    "temperature": {
      "coolTargetTemperature": {
        "mode": [
          "w"
        ],
        "type": "range",
        "value": {
          "w": {
            "max": 30,
            "min": 18,
            "step": 1
          }
        }
      },
      "currentTemperature": {
        "mode": [
          "r"
        ],
        "type": "number"
      },
      "targetTemperature": {
        "mode": [
          "r",
          "w"
        ],
        "type": "range",
        "value": {
          "r": {
            "max": 30,
            "min": 18,
            "step": 1
          },
          "w": {
            "max": 30,
            "min": 18,
            "step": 1
          }
        }
      },
      "unit": {
        "mode": [
          "r"
        ],
        "type": "enum",
        "value": {
          "r": [
            "C",
            "F"
          ]
        }
      }
    },
    "timer": {
      "relativeHourToStart": {
        "mode": [
          "r",
          "w"
        ],
        "type": "number"
      },
      "relativeHourToStop": {
        "mode": [
          "r",
          "w"
        ],
        "type": "number"
      },
      "relativeMinuteToStart": {
        "mode": [
          "r",
          "w"
        ],
        "type": "number"
      },
      "relativeMinuteToStop": {
        "mode": [
          "r",
          "w"
        ],
        "type": "number"
      }
    }
  }
}

 

상태 조회 결과

Example

#Air Conditioner
{
	"airConJobMode": {
		"currentJobMode": "AIR_CLEAN"
	},
	"powerSave": {
		"powerSaveEnabled": false
	},
	"airQualitySensor": {
		"PM1": 8,
		"PM2": 9,
		"PM10": 10,
		"oder": 1,
		"humidity": 30,
		"monitoringEnabled": false
	},
	"temperature": {
		"currentTemperature": 40,
		"targetTemperature": 0,
		"unit": "C"
	},
	"operation": {
		"airConOperationMode": "POWER_ON",
		"airCleanOperationMode": "STOP"
	},
	"airFlow": {
		"windStrength": "AUTO"
	},
	"timer": {
		"relativeHourToStop": 6,
		"relativeMinuteToStop": 50,
		"relativeHourToStart": 0,
		"relativeMinuteToStart": 0,
		"absoluteHourToStart": 0,
		"absoluteMinuteToStart": 0,
		"absoluteHourToStop": 0,
		"absoluteMinuteToStop": 0
	}
}

 

제어 명령

Example

운전 모드 제어 

{
  "airConJobMode": {
    "currentJobMode": "AUTO"
  }
}

에어컨 동작 제어

{
  "operation":{
    "airConOperationMode": "POWER_ON"
   }   
}

공기청정 동작 제어

{
  "operation": {
    "airCleanOperationMode": "START"
  }
}

냉방 온도 제어

targetTemperature
{
  "temperature": {
    "targetTemperature": 18,
    "unit": "C"
  }
}
coolTargetTemperature
{
  "temperature":{
    "coolTargetTemperature": 18,
    "unit": "C"
   }   
}
autoTargetTemperature
{
  "temperature":{
    "autoTargetTemperature": 18,
    "unit": "C"
   }   
}

난방 온도 제어

{
  "temperature": {
    "heatTargetTemperature": 18,
    "unit": "C"
  }
}

절대 시간 켜짐 Timer 제어/ 취소 제어

Timer On
{
  "timer": {
    "absoluteHourToStart": 1,
    "absoluteMinuteToStart": 30
  }
}
Timer Off
{
  "timer": {
    "absoluteHourToStart": -1,
    "absoluteMinuteToStart": -1
  }
}

절대 시간 꺼짐 Timer 제어/ 취소 제어

Timer On
{
  "timer": {
    "absoluteHourToStop": 1,
    "absoluteMinuteToStop": 30
  }
}
Timer Off
{
  "timer": {
    "absoluteHourToStop": -1,
    "absoluteMinuteToStop": -1
  }
}

상대 시간 켜짐 Timer 제어/ 취소 제어 

Timer On
{
  "timer": {
    "relativeHourToStart": 1
  }
}
Timer Off
{
  "timer": {
    "relativeHourToStart": 0
  }
}

상대 시간 꺼짐 Timer 제어/ 취소 제어

Timer On
{
  "timer": {
    "relativeHourToStop": 1
  }
}
Timer Off
{
  "timer": {
    "relativeHourToStop": 0
  }
}

슬립 타이머 꺼짐 Timer 제어/ 취소 제어

Timer On
{
  "sleepTimer": {
    "relativeHourToStop": 1
  }
}
Timer Off
{
  "sleepTimer": {
    "relativeHourToStop": 0
  }
}

바람세기 제어

{
  "airFlow": {
    "windStrength": "MID"
  }
}

절전 제어

{
  "powerSave": {
    "powerSaveEnabled": true
  }
}

공기질 모니터링 설정 제어

{
  "airQualitySensor": {
    "monitoringEnabled": "ALWAYS"
  }
}

twoSet 온도 제어

{
  "twoSetTemperature": {
    "coolTargetTemperature": 20,
    "heatTargetTemperature": 30,
    "unit": "C"
  }
}

제어 예외 처리

디바이스 상태에 따라 디바이스를 제어할 수 없는 경우가 있습니다. 제어 요청 API를 사용할 경우, 먼저 디바이스 상태를 조회하고 제어가 불가능한 경우에 대해 적절한 예외 처리를 해주어야 합니다. 다음 예시를 참고하십시오. 

설정 온도 상대 제어

예) 사용자 명령: "에어컨 온도 1도 올려줘/내려줘." 

airConOperationMode가 POWER_OFF인 경우 처리

airConOperationMode의 값이 POWER_OFF이면 디바이스 제어가 불가능합니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다. 

  • 응답 예시:
    • "에어컨 전원이 꺼져있습니다."

airConOperationMode가 POWER_ON인 경우 처리

airConOperationMode의 값이 POWER_ON이면 currentJobMode 값에 따라 다음과 같이 처리해주어야 합니다.

1) currentJobMode : AUTO, COOL 또는 HEAT인 경우

currentJobMode의 값이 AUTOCOOL 또는 HEAT인 경우 다음과 같이 처리합니다.

  1. 요청 헤더 값을 변경합니다.

    • x-conditional-controlfalse로 변경합니다.

      {
        "x-conditional-control": false,
      }	
  2. 요청 바디 값을 변경합니다.

    • currentJobModeCOOL인 경우
      {
        "temperature": {
          "coolTargetTemperature": 희망온도±1,
          "unit": "C"
        }
      }
      
    • currentJobModeHEAT인 경우
      {
        "temperature": {
          "heatTargetTemperature": 희망온도±1,
          "unit": "C"
        }
      }
      
    • currentJobModeAUTO인 경우
      {
        "temperature": {
          "autoTargetTemperature": 희망온도±1,
          "unit": "C"
        }
      }
  3. 요청 결과로 Error Code 2201 - Not provided Feature가 발생하는 경우 처리

    • 제어 가능 온도 범위를 벗어난 경우 발생하는 에러입니다. 다음 예시를 참고하여 사용자에게 적절한 응답을 제공합니다.
    • 응답 예시:
      • "에어컨 (냉방/난방) 온도는 x도에서 x도까지 설정이 가능합니다."
2) currentJobMode가 AUTO, COOL 또는 HEAT이 아닌 경우

currentJobMode의 값이 AUTOCOOL 또는 HEAT 이외의 값을 갖는 경우 온도 제어가 불가능합니다. 사용자에게 제어가 불가능함을 응답으로 제공합니다. 

  • 응답 예시: 
    • "냉방/난방 모드에서만 제어가 가능하므로 제어할 수 없습니다."

화씨 온도 제어인 경우

화씨 온도로 제어 요청하는 경우 별도의 변환 테이블이 필요합니다. LG 담당자에게 요청하십시오.

 

 

설정 온도 절대 제어

예) 사용자 명령: "에어컨 온도 X 도로 설정해줘." 

airConOperationMode가 POWER_OFF인 경우 처리

airConOperationModePOWER_OFF이면 디바이스 제어가 불가능합니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다. 

  • 응답 예시:
    • "에어컨이 Power Off 상태입니다."

airConOperationMode가 POWER_ON인 경우 처리

airConOperationModePOWER_ON이면  currentJobMode 값에 따라 다음과 같이 처리해주어야 합니다.

1) currentJobMode : AUTO, COOL 또는 HEAT인 경우

currentJobMode가 AUTOCOOL 또는 HEAT인 경우 다음과 같이 처리합니다.

  1. 요청 헤더 값을 변경합니다.

    • x-conditional-controlfalse로 변경합니다.

      {
        "x-conditional-control": false,
      }	
  2. 요청 바디 값을 변경합니다.

    • currentJobModeCOOL인 경우
      {
        "temperature": {
          "coolTargetTemperature": 희망온도,
          "unit": "C"
        }
      }
      
    • currentJobModeHEAT인 경우
      {
        "temperature": {
          "heatTargetTemperature": 희망온도,
          "unit": "C"
        }
      }
    • currentJobModeAUTO인 경우
      {
        "temperature": {
          "autoTargetTemperature": 희망온도,
          "unit": "C"
        }
      }
      
  3. 요청 결과로 Error Code 2201 - Not provided Feature가 발생하는 경우 처리

    • 제어 가능 온도 범위를 벗어난 경우 발생하는 에러입니다. 다음 예시를 참고하여 사용자에게 적절한 응답을 제공합니다.
    • 응답 예시:
      • "에어컨 (냉방/난방) 온도는 X도에서 Y도까지 설정이 가능합니다."
2) currentJobMode가 AUTO, COOL 또는 HEAT이 아닌 경우

currentJobMode의 값이 AUTOCOOL 또는 HEAT 이외의 값을 갖는 경우 온도 제어가 불가능합니다.  제어가 불가능함을 사용자에게 응답으로 제공합니다. 

  • 응답 예시: 
    • "냉방/난방 모드에서만 제어가 가능하므로 제어할 수 없습니다."

화씨 온도 제어인 경우

화씨 온도로 제어 요청하는 경우 별도의 변환 테이블이 필요합니다. LG 담당자에게 요청하십시오.

 

 

풍량 상대 제어

예) 사용자 명령: "에어컨 풍량 올려줘/내려줘." 

airConOperationMode가 POWER_OFF인 경우 처리

airConOperationModePOWER_OFF이면 디바이스 제어가 불가능합니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다. 

  • 응답 예시:
    • "에어컨이 Power Off 상태입니다."

airConOperationMode가 POWER_ON인 경우 처리

airConOperationModePOWER_ON이면  windStrength 값에 따라 다음과 같이 처리해주어야 합니다.

1) windStrength : AUTO인 경우

windStrength가 AUTO인 경우 풍량이 자동으로 제어되며 수동으로 제어할 수 없습니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다.

  • 응답 예시: 
    • "에어컨 풍량이 자동으로 조절되므로 제어할 수 없습니다."
2) windStrength : AUTO가 아닌 경우 

windStrength가 AUTO 이외의 값을 가지는 경우 다음과 같이 처리합니다.

  1. 디바이스 프로파일을 조회하여 해당 에어컨 디바이스가 제공하는 airFlow 값을 확인합니다.  제품 모델 별 지원하는 airFlow 값이 다릅니다.

  2. 요청 헤더 값을 변경합니다.

    • x-conditional-controlfalse로 변경합니다.

      {
        "x-conditional-control": false,
      }	
  3. 요청 바디 값을 변경합니다.

         {
            "airFlow": {
                "windStrength": X
             }  
         }