Air Conditioner
Device Profile
Supported features may vary by model and country.
Property
Resource | Property | Value | ||||
---|---|---|---|---|---|---|
Module Class |
Type | Name |
Type |
R/W |
Value |
Description |
airConJobMode |
Object
|
currentJobMode (Run mode) |
Enum |
RW |
COOL |
Air-cooling operation |
RW |
AIR_DRY |
Dehumidification operation |
||||
RW |
FAN |
Ventilation |
||||
RW |
AUTO |
Automatic |
||||
RW |
HEAT |
Heating |
||||
RW |
AIR_CLEAN |
Air Cleaning |
||||
RW |
AROMA |
Aroma |
||||
RW |
ENERGY_SAVING |
EnergySaving |
||||
operation |
Object |
airConOperationMode (Main body Operation) |
Enum |
RW |
POWER_ON |
Start Air Conditioner Operation |
RW |
POWER_OFF |
Stop Air Conditioner Operation |
||||
airCleanOperationMode (Air Cleaning Only Operation) |
Enum |
W |
START |
Start Air Cleaning Only Mode |
||
W |
STOP |
Stop Air Cleaning Only Mode |
||||
temperature |
Object |
currentTemperature |
Number |
R |
|
Current temperature |
targetTemperature |
Range |
RW |
|
Desired temperature |
||
heatTargetTemperature |
Range |
W |
Desired heating temperature |
|||
coolTargetTemperature |
Range |
W |
Desired cooling temperature |
|||
unit |
Enum |
R |
C |
Celsius |
||
twoSetTemperature |
Object |
currentTemperature |
Number |
R |
||
heatTargetTemperature |
Range |
RW |
||||
coolTargetTemperature |
Range |
RW |
||||
unit |
Enum |
R |
C |
Celsius |
||
timer |
Object |
relativeHourToStart |
Number |
RW |
|
On Timer - Hours |
relativeMinuteToStart |
RW |
|
On Timer - Minutes |
|||
relativeHourToStop |
RW |
|
Off Timer - Hours |
|||
relativeMinuteToStop |
RW |
|
Off Timer - Minutes |
|||
absoluteHourToStart |
RW |
|
Set On Timer - Hours |
|||
absoluteMinuteToStart |
RW |
|
Set On Timer - Minutes |
|||
absoluteHourToStop |
RW |
|
Set Off Timer - Hours |
|||
absoluteMinuteToStop |
RW |
|
Set Off Timer - Minutes |
|||
sleepTimer |
Object |
relativeHourToStop |
Number |
RW |
|
Off Timer - Hours |
relativeMinuteToStop |
Number |
RW |
|
Off Timer - Minutes |
||
powerSave |
Object |
powerSaveEnabled (Power Save On) |
Boolean |
RW |
TRUE |
Power Save On |
RW |
FALSE |
Power Save Off |
||||
airFlow |
Object |
windStrength (Wind Strength) |
Enum |
RW |
SLOW |
Slow wind speed |
RW |
LOW |
Low wind speed |
||||
RW |
MID |
Medium wind speed |
||||
RW |
HIGH |
High wind speed |
||||
RW |
POWER |
Power |
||||
RW |
AUTO |
Automatic |
||||
airQualitySensor |
Object |
PM1 |
Number |
R |
|
PM1.0 (Ultrafine particulate matter concentration) |
PM2 |
Number |
R |
|
PM2.5 (Fine particulate matter concentration) |
||
PM10 |
Number |
R |
|
PM10 (Coarse particulate matter concentration) |
||
oder |
Number |
R |
|
Odor concentration value |
||
humidity |
Number |
R |
|
Humidity value |
||
totalPollution |
Number |
R |
Comprehensive Air-quality Index |
|||
monitoringEnabled (Sensor Monitoring On) |
Enum |
RW |
ON_WORKING |
Sensor Monitoring - During Operation |
||
RW |
ALWAYS |
Sensor Monitoring - Always |
We DO NOT recommend that you set the minute for the timer. Thus, you should set the value of relativeMinuteToStart
and relativeMinuteToStop
properties to zero (0).
Notification
Push Code |
Description |
---|---|
WATER_IS_FULL |
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" } } } }
Status Inquiry Result
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 } }
Control Command
Example
airConJobMode
{ "airConJobMode": { "currentJobMode": "AUTO" } }
airConOperationMode
{ "operation":{ "airConOperationMode": "POWER_ON" } }
airCleanOperationMode
{ "operation": { "airCleanOperationMode": "START" } }
Cooling Temperature Control
targetTemperature
{ "temperature": { "targetTemperature": 18, "unit": "C" } }
coolTargetTemperature
{ "temperature":{ "coolTargetTemperature": 18, "unit": "C" } }
Heating Temperature Control
{ "temperature": { "heatTargetTemperature": 18, "unit": "C" } }
Timer with Absolute time: Power On
Timer Enable
{ "timer": { "absoluteHourToStart": 1, "absoluteMinuteToStart": 30 } }
Timer Disable
{ "timer": { "absoluteHourToStart": -1, "absoluteMinuteToStart": -1 } }
Timer with Absolute time: Power Off
Timer Enable
{ "timer": { "absoluteHourToStop": 1, "absoluteMinuteToStop": 30 } }
Timer Disable
{ "timer": { "absoluteHourToStop": -1, "absoluteMinuteToStop": -1 } }
Timer with Relative time: Power On
Timer Enable
{ "timer": { "relativeHourToStart": 1 } }
Timer Disable
{ "timer": { "relativeHourToStart": 0 } }
Timer with Relative time: Power Off
Timer Enable
{ "timer": { "relativeHourToStop": 1 } }
Timer Disable
{ "timer": { "relativeHourToStop": 0 } }
Sleep Timer: Power Off
Timer Enable
{ "sleepTimer": { "relativeHourToStop": 1 } }
Timer Disable
{ "sleepTimer": { "relativeHourToStop": 0 } }
airFlow - windStrength
{ "airFlow": { "windStrength": "MID" } }
powerSave
{ "powerSave": { "powerSaveEnabled": true } }
airQualitySensor - monitoringEnabled
{ "airQualitySensor": { "monitoringEnabled": "ALWAYS" } }
twoSetTemperature
{ "twoSetTemperature": { "coolTargetTemperature": 20, "heatTargetTemperature": 30, "unit": "C" } }
Handling Exceptions When Controlling Device
The device may not be controlled depending on its status. When requesting to control the device, you must first retrieve its state and handle exceptions for cases where it is in an uncontrollable state. See the following examples.
Target Temperature: Relative Control
E.g., User command: "Raise/lower the air conditioner's target temperature by 1 degree."
Handling when airConOperationMode is POWER_OFF
If the value of airConOperationMode
is POWER_OFF
, the device is uncontrollable. Provide an appropriate response to the user by referring to the following example.
- Example of response:
- "The air conditioner is powered off."
Handling when airConOperationMode is POWER_ON
If the value of airConOperationMode
is POWER_ON
, the following should be handled depending on the currentJobMode
.
1) currentJobMode: COOL or HEAT
If the value of currentJobMode
is COOL
or HEAT
, do as follows:
-
Change the header of the device control request.
-
Set the
x-conditional-control
to false.{ "x-conditional-control": false, }
-
-
Change the body of the device control request.
-
If
currentJobMode
isCOOL
{ "temperature": { "coolTargetTemperature": TargetTemperature ±1, "unit": "C" } }
-
If
currentJobMode
isHEAT
{ "temperature": { "heatTargetTemperature": TargetTemperature ±1, "unit": "C" } }
-
-
Handle when "Error Code 2201-Not provided Feature" occurs as a result of calling the device control API request.
- This error occurs when the temperature is outside the controllable range. Provide an appropriate response to the user by referring the following example.
- Example of response:
- "The air conditioner (cooling/heating) temperature can be set from X ℃ to Y ℃."
2) currentJobMode is neither COOL nor HEAT
If the currentJobMode
has a value other than COOL
or HEAT
, temperature control is not possible.
- Example of response:
- "The air conditioner's target temperature can be controlled in only cooling/heating mode."
Handling when Controlling Device with Fahrenheit scale
The additional conversion table is required when requesting the control with the Fahrenheit scale. Ask it to your LG representative.
Target Temperature: Absolute Control
E.g., User command: "set the air conditioner's target temperature to X degree."
Handling when airConOperationMode is POWER_OFF
If the value of airConOperationMode
is POWER_OFF
, the device is uncontrollable. Provide an appropriate response to the user by referring to the following example.
- Example of response:
- "The air conditioner is powered off."
Handling when airConOperationMode is POWER_ON
If the value of airConOperationMode
is POWER_ON
, the following should be handled depending on the currentJobMode
.
1) currentJobMode: COOL or HEAT
If the value of currentJobMode
is COOL
or HEAT
, do as follows:
-
Change the header of the device control request.
-
Set the
x-conditional-control
tofalse
.{ "x-conditional-control": false, }
-
-
Change the body of the device control request.
-
If
currentJobMode
isCOOL
{ "temperature": { "coolTargetTemperature": TargetTemperature, "unit": "C" } }
-
If
currentJobMode
isHEAT
{ "temperature": { "heatTargetTemperature": TargetTemperature, "unit": "C" } }
-
-
Handle when "Error Code 2201-Not provided Feature" occurs as a result of calling the device control API request.
- This error occurs when the temperature is outside the controllable range. Provide an appropriate response to the user by referring the following example.
- Example of response:
- "The air conditioner (cooling/heating) temperature can be set from X ℃ to Y ℃."
2) currentJobMode is neither COOL nor HEAT
If the currentJobMode
has a value other than COOL
or HEAT
, temperature control is not possible.
- Example of response:
- "The air conditioner's target temperature can be controlled in only cooling/heating mode."
Handling when Controlling Device with Fahrenheit scale
The additional conversion table is required when requesting the control with the Fahrenheit scale. Ask it to your LG representative.
Wind Strength: Relative Control
E.g., User command: "Raise/lower the air conditioner wind strength."
Handling when airConOperationMode is POWER_OFF
If the value of airConOperationMode
is POWER_OFF
, the device is uncontrollable. Provide an appropriate response to the user by referring to the following example.
- Example of response:
- "The air conditioner is powered off."
Handling when airConOperationMode is POWER_ON
If the value of airConOperationMode
is POWER_ON
, the following should be handled depending on the windStrength
.
1) windStrength is AUTO
If windStrength
is AUTO
, wind strength is automatically set and manually uncontrollable. Provide an appropriate response to the user by referring the following example.
- Example of response:
- "As the air conditioner operates in the AUTO mode, you cannot change the wind strength."
2) windStrength is NOT AUTO
If windStrength
is NOT AUTO
, do as follows:
-
Retrieve the device profile to get possible values of airFlow supported by the device. Possible values vary by product model.
-
Change the header of the device control request.
-
Set x-conditional-control to false.
{ "x-conditional-control": false, }
-
-
Change the body of the device control request.
{ "airFlow": { "windStrength": X } }