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:

  1. Change the header of the device control request.

    • Set the x-conditional-control to false.

      {
        "x-conditional-control": false,
      }	
  2. Change the body of the device control request.

    • If currentJobMode is COOL

      {
        "temperature": {
          "coolTargetTemperature": TargetTemperature ±1,
          "unit": "C"
        }
      }
      
    • If currentJobMode is HEAT

      {
        "temperature": {
          "heatTargetTemperature": TargetTemperature ±1,
          "unit": "C"
        }
      }
      
  3. 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:

  1. Change the header of the device control request.

    • Set the x-conditional-control to false.

      {
        "x-conditional-control": false,
      }	
  2. Change the body of the device control request.

    • If currentJobMode is COOL

      {
        "temperature": {
          "coolTargetTemperature": TargetTemperature,
          "unit": "C"
        }
      }
      
    • If currentJobMode is HEAT

      {
        "temperature": {
          "heatTargetTemperature": TargetTemperature,
          "unit": "C"
        }
      }
  3. 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:

  1. Retrieve the device profile to get possible values of airFlow supported by the device. Possible values vary by product model.

  2. Change the header of the device control request.

    • Set x-conditional-control to false

      {
        "x-conditional-control": false,
      }	
  3. Change the body of the device control request.

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