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 |
센서 모니터링 - 항상 |
상대적인 시간 예약에 대한 분 단위 예약은 권장하지 않습니다. 따라서 relativeMinuteToStart
와 relativeMinuteToStop
프로퍼티 값은 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
의 값이 AUTO
, COOL
또는 HEAT
인 경우 다음과 같이 처리합니다.
-
요청 헤더 값을 변경합니다.
-
x-conditional-control
를false
로 변경합니다.{ "x-conditional-control": false, }
-
-
요청 바디 값을 변경합니다.
currentJobMode
가COOL
인 경우{ "temperature": { "coolTargetTemperature": 희망온도±1, "unit": "C" } }
currentJobMode
가HEAT
인 경우{ "temperature": { "heatTargetTemperature": 희망온도±1, "unit": "C" } }
currentJobMode
가 AUTO인 경우{ "temperature": { "autoTargetTemperature": 희망온도±1, "unit": "C" } }
-
요청 결과로 Error Code 2201 - Not provided Feature가 발생하는 경우 처리
- 제어 가능 온도 범위를 벗어난 경우 발생하는 에러입니다. 다음 예시를 참고하여 사용자에게 적절한 응답을 제공합니다.
- 응답 예시:
- "에어컨 (냉방/난방) 온도는 x도에서 x도까지 설정이 가능합니다."
2) currentJobMode가 AUTO, COOL 또는 HEAT이 아닌 경우
currentJobMode
의 값이 AUTO
, COOL
또는 HEAT
이외의 값을 갖는 경우 온도 제어가 불가능합니다. 사용자에게 제어가 불가능함을 응답으로 제공합니다.
- 응답 예시:
- "냉방/난방 모드에서만 제어가 가능하므로 제어할 수 없습니다."
화씨 온도 제어인 경우
화씨 온도로 제어 요청하는 경우 별도의 변환 테이블이 필요합니다. LG 담당자에게 요청하십시오.
설정 온도 절대 제어
예) 사용자 명령: "에어컨 온도 X 도로 설정해줘."
airConOperationMode가 POWER_OFF인 경우 처리
airConOperationMode
가 POWER_OFF
이면 디바이스 제어가 불가능합니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다.
- 응답 예시:
- "에어컨이 Power Off 상태입니다."
airConOperationMode가 POWER_ON인 경우 처리
airConOperationMode
가 POWER_ON
이면 currentJobMode
값에 따라 다음과 같이 처리해주어야 합니다.
1) currentJobMode : AUTO, COOL 또는 HEAT인 경우
currentJobMode
가 AUTO
, COOL
또는 HEAT
인 경우 다음과 같이 처리합니다.
-
요청 헤더 값을 변경합니다.
-
x-conditional-control
를false
로 변경합니다.{ "x-conditional-control": false, }
-
-
요청 바디 값을 변경합니다.
currentJobMode
가COOL
인 경우{ "temperature": { "coolTargetTemperature": 희망온도, "unit": "C" } }
currentJobMode
가HEAT
인 경우{ "temperature": { "heatTargetTemperature": 희망온도, "unit": "C" } }
currentJobMode
가AUTO
인 경우{ "temperature": { "autoTargetTemperature": 희망온도, "unit": "C" } }
-
요청 결과로 Error Code 2201 - Not provided Feature가 발생하는 경우 처리
- 제어 가능 온도 범위를 벗어난 경우 발생하는 에러입니다. 다음 예시를 참고하여 사용자에게 적절한 응답을 제공합니다.
- 응답 예시:
- "에어컨 (냉방/난방) 온도는 X도에서 Y도까지 설정이 가능합니다."
2) currentJobMode가 AUTO, COOL 또는 HEAT이 아닌 경우
currentJobMode
의 값이 AUTO
, COOL
또는 HEAT
이외의 값을 갖는 경우 온도 제어가 불가능합니다. 제어가 불가능함을 사용자에게 응답으로 제공합니다.
- 응답 예시:
- "냉방/난방 모드에서만 제어가 가능하므로 제어할 수 없습니다."
화씨 온도 제어인 경우
화씨 온도로 제어 요청하는 경우 별도의 변환 테이블이 필요합니다. LG 담당자에게 요청하십시오.
풍량 상대 제어
예) 사용자 명령: "에어컨 풍량 올려줘/내려줘."
airConOperationMode가 POWER_OFF인 경우 처리
airConOperationMode
가 POWER_OFF
이면 디바이스 제어가 불가능합니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다.
- 응답 예시:
- "에어컨이 Power Off 상태입니다."
airConOperationMode가 POWER_ON인 경우 처리
airConOperationMode
가 POWER_ON
이면 windStrength
값에 따라 다음과 같이 처리해주어야 합니다.
1) windStrength : AUTO인 경우
windStrength
가 AUTO
인 경우 풍량이 자동으로 제어되며 수동으로 제어할 수 없습니다. 다음 예시와 같이 사용자에게 응답하도록 처리합니다.
- 응답 예시:
- "에어컨 풍량이 자동으로 조절되므로 제어할 수 없습니다."
2) windStrength : AUTO가 아닌 경우
windStrength
가 AUTO
이외의 값을 가지는 경우 다음과 같이 처리합니다.
-
디바이스 프로파일을 조회하여 해당 에어컨 디바이스가 제공하는 airFlow 값을 확인합니다. 제품 모델 별 지원하는 airFlow 값이 다릅니다.
-
요청 헤더 값을 변경합니다.
-
x-conditional-control
를false
로 변경합니다.{ "x-conditional-control": false, }
-
-
요청 바디 값을 변경합니다.
{ "airFlow": { "windStrength": X } }