tinkerborg / thinq2-python

Reverse-engineered client for LG ThinQ v2 IoT devices
GNU General Public License v3.0
69 stars 19 forks source link

Add a new kind of device ? #5

Open Tycale opened 4 years ago

Tycale commented 4 years ago

I correctly found my air conditioner. Big thanks for your work on this project !

However, I would need some guidance to create a proper device as you did with your "laundry" device. The file "laundry.py" seems a bit empty. I am not sure what is the state of the art on this project as it is quite a new one (less than a month ago!). Are you able to get a proper output of your device state?

If you are interested by the output of the monitoring of my device:

Devices:

aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa: CLIMATISEUR (model RAC_056905_WW)

Listening for device events. Use Ctrl-C/SIGINT to quit.

b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"DGsAGN6gQWG2lQKbFKMUvg"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589212436932}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"cCJ-NV3FQmypi0Bvuc-3AQ"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589212737984}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"607u_f0XR06jgEpPgyag7Q"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213038997}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.operation":1,"meta":{"allDeviceInfoUpdate":false,"messageId":"25Y-9HHwRCu2uCyIcBwImQ"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213104475}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.tempState.target":27,"meta":{"allDeviceInfoUpdate":false,"messageId":"JTlLtX38RGS1bHfrh5u4gw"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213132510}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.tempState.target":29,"meta":{"allDeviceInfoUpdate":false,"messageId":"7S_pj_A2Q0CsyvgJf8KIrQ"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213132522}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.tempState.target":26,"meta":{"allDeviceInfoUpdate":false,"messageId":"k7dR1VIITjKQMYE8RSGPuA"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213132531}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.tempState.target":28,"meta":{"allDeviceInfoUpdate":false,"messageId":"8WqDea8yQcmN221qmhp6oQ"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213132554}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.tempState.target":25,"meta":{"allDeviceInfoUpdate":false,"messageId":"Nc4WmwATS3uX9kEJm6Deeg"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213132737}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.tempState.target":24,"meta":{"allDeviceInfoUpdate":false,"messageId":"XzibpwCASFC_QOsIzUIjQg"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213132761}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.opMode":2,"meta":{"allDeviceInfoUpdate":false,"messageId":"JMlUelreQtSBryXH3D0dHA"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213140048}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.opMode":0,"airState.tempState.target":18,"meta":{"allDeviceInfoUpdate":false,"messageId":"E22DppwGTF2c-UaZuUxKwA"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213140947}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.opMode":6,"airState.tempState.target":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"uvA_QZAmSQ-P8jAZCn7QBA"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213141583}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"ggdG-HofSUKpRp5AKc0-kQ"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213176075}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"d9woogCqTEevplwPWaMqfA"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213340080}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"LvrjRLO1RD-nNCJnFQnTOg"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213641172}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"ndVqeUCpRoCoVKtkDNSHvQ"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589213942110}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"OHMf7yg6SvCCgJ5uEAPQng"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589214243256}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"2LkCnXT-QNqfMEAHju1LVg"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589215146435}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"hbbqnacrRnCDx_VfGRocDg"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589215447367}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
b'{"data":{"state":{"reported":{"airState.energy.accumulated":0,"airState.energy.accumulatedTime":0,"airState.tempState.current":24.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"1sVN2z_iRZSJU_O2nphKAA"},"online":true,"static":{"countryCode":"BE","deviceType":"401"},"timestamp":1589215748535}}},"deviceId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","type":"monitoring"}'
^C
Caught SIGINT, saving application state.

(deviceId hidden)

tinkerborg commented 4 years ago

I don't have an a/c device to test. Your MQTT events give me a pretty good idea of what the model looks like, but could you please try the code in the dump-device branch and comment here w/ the output? This will dump the raw device data returned by the API (with your device ID redacted).

tinkerborg commented 4 years ago

@stefxx If you could post the above for your a/c unit that would be helpful too. Or anyone else with LG air conditioner!

vaxi87 commented 4 years ago

@stefxx If you could post the above for your a/c unit that would be helpful too. Or anyone else with LG air conditioner!

This is the raw device data of my 2 ACs

Devices:

{'appType': 'NUTS', 'modelCountryCode': 'WW', 'countryCode': 'HU', 'modelName': 'RAC_056905_WW', 'deviceType': 401, 'deviceCode': 'AI01', 'alias': 'Hálószoba klíma', 'deviceId': '00000000-0000-0000-0000-000000000000', 'fwVer': '', 'imageFileName': 'ac_home_wall_airconditioner_img.png', 'ssid': 'WiFi', 'softapId': '', 'softapPass': '', 'macAddress': '[MACADDRESS]', 'networkType': '02', 'timezoneCode': 'Europe/Budapest', 'timezoneCodeAlias': 'Europe/Budapest', 'utcOffset': 1, 'utcOffsetDisplay': '+01:00', 'dstOffset': 2, 'dstOffsetDisplay': '+02:00', 'curOffset': 2, 'curOffsetDisplay': '+02:00', 'sdsGuide': '{"deviceCode":"AI01"}', 'newRegYn': 'N', 'remoteControlType': '', 'userNo': 'HU2005084425439', 'tftYn': 'N', 'deviceState': 'E', 'snapshot': {'airState.wMode.lowHeating': 0.0, 'airState.reservation.sleepTime': 0.0, 'airState.reservation.targetTimeToStart': 0.0, 'airState.filterMngStates.maxTime': 0.0, 'airState.opMode': 4.0, 'airState.quality.sensorMon': 0.0, 'airState.powerSave.basic': 0.0, 'meta': {'allDeviceInfoUpdate': False, 'messageId': 'bgxH6x9uQY6w9i7WFDCyuw'}, 'airState.wDir.hStep': 2.0, 'online': True, 'timestamp': 1589264814910.0, 'airState.energy.accumulated': 0.0, 'airState.tempState.target': 30.0, 'airState.miscFuncState.extraOp': 0.0, 'airState.wMode.airClean': 0.0, 'airState.windStrength': 6.0, 'static': {'deviceType': '401', 'countryCode': 'HU'}, 'airState.tempState.current': 26.0, 'airState.operation': 0.0, 'airState.miscFuncState.autoDry': 0.0, 'airState.filterMngStates.useTime': 0.0, 'airState.wMode.jet': 0.0, 'airState.energy.accumulatedTime': 0.0, 'airState.reservation.targetTimeToStop': 0.0, 'airState.lightingState.displayControl': 0.0, 'airState.diagCode': 0.0, 'airState.wDir.vStep': 0.0, 'airState.energy.onCurrent': 50.0}, 'online': True, 'platformType': 'thinq2', 'area': 187423, 'regDt': 20200508084625.0, 'blackboxYn': 'Y', 'modelProtocol': 'STANDARD', 'receipeVersion': 0, 'activeSaving': 'OFF', 'smartCareV2': 'OFF', 'order': 1, 'drServiceYn': 'N', 'regDtUtc': '20200508064625', 'groupableYn': 'Y', 'controllableYn': 'Y', 'combinedProductYn': 'N', 'masterYn': 'Y', 'tclcount': 0} {'appType': 'NUTS', 'modelCountryCode': 'WW', 'countryCode': 'HU', 'modelName': 'RAC_056905_WW', 'deviceType': 401, 'deviceCode': 'AI01', 'alias': 'Nappali klíma', 'deviceId': '00000000-0000-0000-0000-000000000000', 'fwVer': '', 'imageFileName': 'ac_home_wall_airconditioner_img.png', 'ssid': 'Wifi', 'softapId': '', 'softapPass': '', 'macAddress': '[MACADDRESS]', 'networkType': '02', 'timezoneCode': 'Europe/Budapest', 'timezoneCodeAlias': 'Europe/Budapest', 'utcOffset': 1, 'utcOffsetDisplay': '+01:00', 'dstOffset': 2, 'dstOffsetDisplay': '+02:00', 'curOffset': 2, 'curOffsetDisplay': '+02:00', 'sdsGuide': '{"deviceCode":"AI01"}', 'newRegYn': 'N', 'remoteControlType': '', 'userNo': 'HU2005084425439', 'tftYn': 'N', 'deviceState': 'E', 'snapshot': {'airState.wMode.lowHeating': 0.0, 'airState.reservation.sleepTime': 0.0, 'airState.reservation.targetTimeToStart': 0.0, 'airState.filterMngStates.maxTime': 0.0, 'airState.opMode': 0.0, 'airState.quality.sensorMon': 0.0, 'airState.powerSave.basic': 0.0, 'meta': {'allDeviceInfoUpdate': False, 'messageId': 'Yqb8nkQkTvqGCzxj3mi_uQ'}, 'airState.wDir.hStep': 3.0, 'online': True, 'timestamp': 1589264699427.0, 'airState.energy.accumulated': 0.0, 'airState.tempState.target': 18.0, 'airState.miscFuncState.extraOp': 0.0, 'airState.wMode.airClean': 0.0, 'airState.windStrength': 8.0, 'static': {'deviceType': '401', 'countryCode': 'HU'}, 'airState.tempState.current': 25.5, 'airState.operation': 0.0, 'airState.miscFuncState.autoDry': 0.0, 'airState.filterMngStates.useTime': 0.0, 'airState.wMode.jet': 0.0, 'airState.energy.accumulatedTime': 0.0, 'airState.reservation.targetTimeToStop': 0.0, 'airState.lightingState.displayControl': 0.0, 'airState.diagCode': 0.0, 'airState.wDir.vStep': 0.0, 'airState.energy.onCurrent': 50.0}, 'online': True, 'platformType': 'thinq2', 'area': 187423, 'regDt': 20200508080455.0, 'blackboxYn': 'Y', 'modelProtocol': 'STANDARD', 'receipeVersion': 0, 'activeSaving': 'OFF', 'smartCareV2': 'OFF', 'order': 0, 'drServiceYn': 'N', 'regDtUtc': '20200508060455', 'groupableYn': 'Y', 'controllableYn': 'Y', 'combinedProductYn': 'N', 'masterYn': 'Y', 'tclcount': 0}

stefxx commented 4 years ago

Here you go. Three v1 a/c units and one v2 unit. I changed the deviceids and mac addresses. I assume the rest is not specific to my system...

{
   "resultCode":"0000",
   "result":{
      "langPackCommonVer":"74.2",
      "langPackCommonUri":"https://objectstore.lgthinq.com/ba000000-0000-0000-0000-000000000006?Expires=1652233519&Signature=G5000000000000....0000000000000000006w__&Key-Pair-Id=AP0000000000000000LQ",
      "item":[
         {
            "modelName":"RAC_056905_WW",
            "subModelName":"",
            "deviceType":401,
            "deviceCode":"AI01",
            "alias":"Room1",
            "deviceId":"d2000000-0000-0000-0000-0000000000d6",
            "fwVer":"2.5.8_RTOS_3K",
            "imageFileName":"ac_home_wall_airconditioner_img.png",
            "imageUrl":"https://objectstore.lgthinq.com/9e0177e7-0956-4284-916d-61e213f1f5ab?Expires=1641862843&Signature=qgI8aBHIpIbVD8ZoNoGjNvK2~sXlstGgU6FCyhIfHdqQWnyEPsxRgCjhd3LweFNCakT5OOv3wqO5ZZlI4jXhUFB6iDSQMQ6sbOaVPmjmdZMsNEQPl4k7nc5uwa55L9KgrmAb5pUb0-5UaefrmQsmA~SvNMvlIM962btQTfaRcntqk1H5gk3IAp8G9TGauZp8Ydivkz5wbmlnm937Kloki~9AOdldbDqub9sUCSDj9eGLV4NWwVjPs6W~MLmpwJgrBuOq4goc17fGNlSds-t3OPVGzLcrnElQFzPRNnQGT-pD0pegMNKYEW-BNiKuSJxI6WY4m15rH01FYd~WDK8v1w__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "smallImageUrl":"https://objectstore.lgthinq.com/c7e214d7-99f0-4641-b954-f238f9d55b64?Expires=1641283256&Signature=aF8g28vNp60ENB56GEC5iUT95vsKtZDfz2se5oy3Z03riCtXdl2wO67LHcWTlCvqcruOLcbk5iqGDQoTEjqdUzj9bT1yRVabwjZYZS5wPWUWXlyrEoPzknyMXK7zugHKbJJmgbMCqBBJw9rn8Q1199P2yurlxRm6i2vmeAkYSy-o-QhXLSUbLBQHr~eKPEm-zfrBDCCLdVNfFYOwZ8J8qK~AMcA8CPgACK7BfsN6SPgTNW12cC-W7nEheoyjZP2nAEMq4gCSjnn7P-9RwXdOMTbX5LDkln~2qYEyR7UjADNdGJsYJTbHl3Ugbs4yFOYgWTeUkpNCuIj~RCowoc01ug__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "ssid":"DeDroog_IoT",
            "macAddress":"74:00:00:00:00:d6",
            "networkType":"02",
            "timezoneCode":"Europe/Amsterdam",
            "timezoneCodeAlias":"Europe/Amsterdam",
            "utcOffset":1,
            "utcOffsetDisplay":"+01:00",
            "dstOffset":2,
            "dstOffsetDisplay":"+02:00",
            "curOffset":2,
            "curOffsetDisplay":"+02:00",
            "sdsGuide":"{\"deviceCode\":\"AI01\"}",
            "newRegYn":"N",
            "remoteControlType":"",
            "modelJsonVer":5.8,
            "modelJsonUri":"https://eic.lgthinq.com:46030/api/webContents/modelJSON?modelName=modelJSON_401&countryCode=KR&contentsId=d2000000-0000-0000-0000-0000000000d6&authKey=thinq",
            "langPackProductTypeVer":25.5,
            "langPackProductTypeUri":"https://objectstore.lgthinq.com/3fa20631-5af7-429c-a8d2-848340992915?Expires=1651131992&Signature=dFRQLyPnCZa9f2vU9mvF-AAN~SWpNgwQg0ajh6YF78kRu2E3kcqfUBP0HFVfCs5ruDOZD39JNyPIeOob63Jye9MP1jMO2ktfNS0WxfBRD5aqLMz3PRNxJujDUcLzm799cMoKJswxTiU7hUS7yJWZjwl-oa8IvR6voquu3vx6avODqMtyhRdIX780OycLR7WszdbWjZOIqvls80WuuvXPE3n~yxcsu49zIo3AsqcREuJrdHH2KtdBX7-W-dEzQEGny6SiB4tMpLRWTElJmItrBiOd5RebInEEBEab4Ro-HT76pFFxAIHgqstX~UfCgwjc~BYi-oSM6y7iPfMNcDyDvg__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "langPackModelVer":"",
            "langPackModelUri":"",
            "deviceState":"E",
            "online":false,
            "platformType":"thinq1",
            "regDt":2.0200416173546E13,
            "modelProtocol":"STANDARD",
            "order":4,
            "drServiceYn":"N",
            "guideTypeYn":"Y",
            "guideType":"",
            "regDtUtc":"20200416153546",
            "groupableYn":"Y",
            "controllableYn":"Y",
            "combinedProductYn":"N",
            "masterYn":"Y",
            "tclcount":0
         },
         {
            "modelName":"RAC_056905_WW",
            "subModelName":"",
            "deviceType":401,
            "deviceCode":"AI01",
            "alias":"Room2",
            "deviceId":"d2000000-0000-0000-0000-000000000059",
            "fwVer":"2.5.8_RTOS_3K",
            "imageFileName":"ac_home_wall_airconditioner_img.png",
            "imageUrl":"https://objectstore.lgthinq.com/9e0177e7-0956-4284-916d-61e213f1f5ab?Expires=1641862843&Signature=qgI8aBHIpIbVD8ZoNoGjNvK2~sXlstGgU6FCyhIfHdqQWnyEPsxRgCjhd3LweFNCakT5OOv3wqO5ZZlI4jXhUFB6iDSQMQ6sbOaVPmjmdZMsNEQPl4k7nc5uwa55L9KgrmAb5pUb0-5UaefrmQsmA~SvNMvlIM962btQTfaRcntqk1H5gk3IAp8G9TGauZp8Ydivkz5wbmlnm937Kloki~9AOdldbDqub9sUCSDj9eGLV4NWwVjPs6W~MLmpwJgrBuOq4goc17fGNlSds-t3OPVGzLcrnElQFzPRNnQGT-pD0pegMNKYEW-BNiKuSJxI6WY4m15rH01FYd~WDK8v1w__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "smallImageUrl":"https://objectstore.lgthinq.com/c7e214d7-99f0-4641-b954-f238f9d55b64?Expires=1641283256&Signature=aF8g28vNp60ENB56GEC5iUT95vsKtZDfz2se5oy3Z03riCtXdl2wO67LHcWTlCvqcruOLcbk5iqGDQoTEjqdUzj9bT1yRVabwjZYZS5wPWUWXlyrEoPzknyMXK7zugHKbJJmgbMCqBBJw9rn8Q1199P2yurlxRm6i2vmeAkYSy-o-QhXLSUbLBQHr~eKPEm-zfrBDCCLdVNfFYOwZ8J8qK~AMcA8CPgACK7BfsN6SPgTNW12cC-W7nEheoyjZP2nAEMq4gCSjnn7P-9RwXdOMTbX5LDkln~2qYEyR7UjADNdGJsYJTbHl3Ugbs4yFOYgWTeUkpNCuIj~RCowoc01ug__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "ssid":"DeDroog_IoT",
            "macAddress":"2c:00:00:00:00:59",
            "networkType":"02",
            "timezoneCode":"Europe/Amsterdam",
            "timezoneCodeAlias":"Europe/Amsterdam",
            "utcOffset":1,
            "utcOffsetDisplay":"+01:00",
            "dstOffset":2,
            "dstOffsetDisplay":"+02:00",
            "curOffset":2,
            "curOffsetDisplay":"+02:00",
            "sdsGuide":"{\"deviceCode\":\"AI01\"}",
            "newRegYn":"N",
            "remoteControlType":"",
            "modelJsonVer":5.8,
            "modelJsonUri":"https://eic.lgthinq.com:46030/api/webContents/modelJSON?modelName=modelJSON_401&countryCode=KR&contentsId=d2000000-0000-0000-0000-000000000059&authKey=thinq",
            "langPackProductTypeVer":25.5,
            "langPackProductTypeUri":"https://objectstore.lgthinq.com/3fa20631-5af7-429c-a8d2-848340992915?Expires=1651131992&Signature=dFRQLyPnCZa9f2vU9mvF-AAN~SWpNgwQg0ajh6YF78kRu2E3kcqfUBP0HFVfCs5ruDOZD39JNyPIeOob63Jye9MP1jMO2ktfNS0WxfBRD5aqLMz3PRNxJujDUcLzm799cMoKJswxTiU7hUS7yJWZjwl-oa8IvR6voquu3vx6avODqMtyhRdIX780OycLR7WszdbWjZOIqvls80WuuvXPE3n~yxcsu49zIo3AsqcREuJrdHH2KtdBX7-W-dEzQEGny6SiB4tMpLRWTElJmItrBiOd5RebInEEBEab4Ro-HT76pFFxAIHgqstX~UfCgwjc~BYi-oSM6y7iPfMNcDyDvg__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "langPackModelVer":"",
            "langPackModelUri":"",
            "deviceState":"E",
            "online":false,
            "platformType":"thinq1",
            "regDt":2.0200416175419E13,
            "modelProtocol":"STANDARD",
            "order":3,
            "drServiceYn":"N",
            "guideTypeYn":"Y",
            "guideType":"",
            "regDtUtc":"20200416155419",
            "groupableYn":"Y",
            "controllableYn":"Y",
            "combinedProductYn":"N",
            "masterYn":"Y",
            "tclcount":0
         },
         {
            "modelName":"RAC_056905_WW",
            "subModelName":"",
            "deviceType":401,
            "deviceCode":"AI01",
            "alias":"Room3",
            "deviceId":"d2000000-0000-0000-0000-00000000006f",
            "fwVer":"2.5.8_RTOS_3K",
            "imageFileName":"ac_home_wall_airconditioner_img.png",
            "imageUrl":"https://objectstore.lgthinq.com/9e0177e7-0956-4284-916d-61e213f1f5ab?Expires=1641862843&Signature=qgI8aBHIpIbVD8ZoNoGjNvK2~sXlstGgU6FCyhIfHdqQWnyEPsxRgCjhd3LweFNCakT5OOv3wqO5ZZlI4jXhUFB6iDSQMQ6sbOaVPmjmdZMsNEQPl4k7nc5uwa55L9KgrmAb5pUb0-5UaefrmQsmA~SvNMvlIM962btQTfaRcntqk1H5gk3IAp8G9TGauZp8Ydivkz5wbmlnm937Kloki~9AOdldbDqub9sUCSDj9eGLV4NWwVjPs6W~MLmpwJgrBuOq4goc17fGNlSds-t3OPVGzLcrnElQFzPRNnQGT-pD0pegMNKYEW-BNiKuSJxI6WY4m15rH01FYd~WDK8v1w__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "smallImageUrl":"https://objectstore.lgthinq.com/c7e214d7-99f0-4641-b954-f238f9d55b64?Expires=1641283256&Signature=aF8g28vNp60ENB56GEC5iUT95vsKtZDfz2se5oy3Z03riCtXdl2wO67LHcWTlCvqcruOLcbk5iqGDQoTEjqdUzj9bT1yRVabwjZYZS5wPWUWXlyrEoPzknyMXK7zugHKbJJmgbMCqBBJw9rn8Q1199P2yurlxRm6i2vmeAkYSy-o-QhXLSUbLBQHr~eKPEm-zfrBDCCLdVNfFYOwZ8J8qK~AMcA8CPgACK7BfsN6SPgTNW12cC-W7nEheoyjZP2nAEMq4gCSjnn7P-9RwXdOMTbX5LDkln~2qYEyR7UjADNdGJsYJTbHl3Ugbs4yFOYgWTeUkpNCuIj~RCowoc01ug__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "ssid":"DeDroog_IoT",
            "macAddress":"74:00:00:00:00:6f",
            "networkType":"02",
            "timezoneCode":"Europe/Amsterdam",
            "timezoneCodeAlias":"Europe/Amsterdam",
            "utcOffset":1,
            "utcOffsetDisplay":"+01:00",
            "dstOffset":2,
            "dstOffsetDisplay":"+02:00",
            "curOffset":2,
            "curOffsetDisplay":"+02:00",
            "sdsGuide":"{\"deviceCode\":\"AI01\"}",
            "newRegYn":"N",
            "remoteControlType":"",
            "modelJsonVer":5.8,
            "modelJsonUri":"https://eic.lgthinq.com:46030/api/webContents/modelJSON?modelName=modelJSON_401&countryCode=KR&contentsId=d2000000-0000-0000-0000-00000000006f&authKey=thinq",
            "langPackProductTypeVer":25.5,
            "langPackProductTypeUri":"https://objectstore.lgthinq.com/3fa20631-5af7-429c-a8d2-848340992915?Expires=1651131992&Signature=dFRQLyPnCZa9f2vU9mvF-AAN~SWpNgwQg0ajh6YF78kRu2E3kcqfUBP0HFVfCs5ruDOZD39JNyPIeOob63Jye9MP1jMO2ktfNS0WxfBRD5aqLMz3PRNxJujDUcLzm799cMoKJswxTiU7hUS7yJWZjwl-oa8IvR6voquu3vx6avODqMtyhRdIX780OycLR7WszdbWjZOIqvls80WuuvXPE3n~yxcsu49zIo3AsqcREuJrdHH2KtdBX7-W-dEzQEGny6SiB4tMpLRWTElJmItrBiOd5RebInEEBEab4Ro-HT76pFFxAIHgqstX~UfCgwjc~BYi-oSM6y7iPfMNcDyDvg__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "langPackModelVer":"",
            "langPackModelUri":"",
            "deviceState":"E",
            "online":false,
            "platformType":"thinq1",
            "regDt":2.0200512181726E13,
            "modelProtocol":"STANDARD",
            "order":0,
            "drServiceYn":"N",
            "guideTypeYn":"Y",
            "guideType":"",
            "regDtUtc":"20200512161726",
            "groupableYn":"Y",
            "controllableYn":"Y",
            "combinedProductYn":"N",
            "masterYn":"Y",
            "tclcount":0
         },
         {
            "appType":"NUTS",
            "modelCountryCode":"WW",
            "countryCode":"NL",
            "modelName":"RAC_056905_WW",
            "deviceType":401,
            "deviceCode":"AI01",
            "alias":"Room4",
            "deviceId":"69000000-0000-0000-0000-00000000004a",
            "fwVer":"",
            "imageFileName":"ac_home_wall_airconditioner_img.png",
            "imageUrl":"https://objectstore.lgthinq.com/9e0177e7-0956-4284-916d-61e213f1f5ab?Expires=1641862843&Signature=qgI8aBHIpIbVD8ZoNoGjNvK2~sXlstGgU6FCyhIfHdqQWnyEPsxRgCjhd3LweFNCakT5OOv3wqO5ZZlI4jXhUFB6iDSQMQ6sbOaVPmjmdZMsNEQPl4k7nc5uwa55L9KgrmAb5pUb0-5UaefrmQsmA~SvNMvlIM962btQTfaRcntqk1H5gk3IAp8G9TGauZp8Ydivkz5wbmlnm937Kloki~9AOdldbDqub9sUCSDj9eGLV4NWwVjPs6W~MLmpwJgrBuOq4goc17fGNlSds-t3OPVGzLcrnElQFzPRNnQGT-pD0pegMNKYEW-BNiKuSJxI6WY4m15rH01FYd~WDK8v1w__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "smallImageUrl":"https://objectstore.lgthinq.com/c7e214d7-99f0-4641-b954-f238f9d55b64?Expires=1641283256&Signature=aF8g28vNp60ENB56GEC5iUT95vsKtZDfz2se5oy3Z03riCtXdl2wO67LHcWTlCvqcruOLcbk5iqGDQoTEjqdUzj9bT1yRVabwjZYZS5wPWUWXlyrEoPzknyMXK7zugHKbJJmgbMCqBBJw9rn8Q1199P2yurlxRm6i2vmeAkYSy-o-QhXLSUbLBQHr~eKPEm-zfrBDCCLdVNfFYOwZ8J8qK~AMcA8CPgACK7BfsN6SPgTNW12cC-W7nEheoyjZP2nAEMq4gCSjnn7P-9RwXdOMTbX5LDkln~2qYEyR7UjADNdGJsYJTbHl3Ugbs4yFOYgWTeUkpNCuIj~RCowoc01ug__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "ssid":"DeDroog_IoT",
            "softapId":"",
            "softapPass":"",
            "macAddress":"44:00:00:00:00:4a",
            "networkType":"02",
            "timezoneCode":"Europe/Amsterdam",
            "timezoneCodeAlias":"Europe/Amsterdam",
            "utcOffset":1,
            "utcOffsetDisplay":"+01:00",
            "dstOffset":2,
            "dstOffsetDisplay":"+02:00",
            "curOffset":2,
            "curOffsetDisplay":"+02:00",
            "sdsGuide":"{\"deviceCode\":\"AI01\"}",
            "newRegYn":"N",
            "remoteControlType":"",
            "userNo":"NL2003223841310",
            "tftYn":"N",
            "modelJsonVer":11.08,
            "modelJsonUri":"https://objectstore.lgthinq.com/0a41cc33-27bc-4c70-aa85-cba2a7b2c3a4?Expires=1650123303&Signature=bg2akagsTZdVtHmJZicCK1tOm343RhsVV-zu4AdmBwBaajWCxJqx0n83-89yDs4xLu23WJT86o2-vJ0CcsivVlFgKiF2vFKnL8KEVPEExZuLlqb38O8nU0LiYkT~UTUQzwHo1wKiSnVWJH1h1g6anrDE-qF3KWTzMmo~K5uaJEErQKNWEAC2qToNwBR51cgEqtCP-GZDgZoBH8iMK7rrFEALL1O9Ili0CPNjLJHIpcBTXmcVYTGpT7JHJafW0BPiiL9lqqSGxlY1KCoJtpxh97EJXZLSDe~kvMTw7SUlHiOJUmgff-XAu~bIxVYtmwYhRjrjSJCG40tuU6x9UshISA__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "langPackProductTypeVer":25.5,
            "langPackProductTypeUri":"https://objectstore.lgthinq.com/3fa20631-5af7-429c-a8d2-848340992915?Expires=1651131992&Signature=dFRQLyPnCZa9f2vU9mvF-AAN~SWpNgwQg0ajh6YF78kRu2E3kcqfUBP0HFVfCs5ruDOZD39JNyPIeOob63Jye9MP1jMO2ktfNS0WxfBRD5aqLMz3PRNxJujDUcLzm799cMoKJswxTiU7hUS7yJWZjwl-oa8IvR6voquu3vx6avODqMtyhRdIX780OycLR7WszdbWjZOIqvls80WuuvXPE3n~yxcsu49zIo3AsqcREuJrdHH2KtdBX7-W-dEzQEGny6SiB4tMpLRWTElJmItrBiOd5RebInEEBEab4Ro-HT76pFFxAIHgqstX~UfCgwjc~BYi-oSM6y7iPfMNcDyDvg__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ",
            "deviceState":"D",
            "snapshot":{
               "airState.wMode.lowHeating":0.0,
               "airState.wMode.airClean":0.0,
               "airState.windStrength":8.0,
               "static":{
                  "deviceType":"401",
                  "countryCode":"NL"
               },
               "airState.tempState.current":17.0,
               "airState.reservation.sleepTime":0.0,
               "airState.filterMngStates.maxTime":0.0,
               "airState.reservation.targetTimeToStart":0.0,
               "airState.operation":0.0,
               "airState.opMode":0.0,
               "airState.quality.sensorMon":0.0,
               "airState.filterMngStates.useTime":0.0,
               "airState.miscFuncState.autoDry":0.0,
               "meta":{
                  "allDeviceInfoUpdate":false,
                  "messageId":"wN7sVd_ESY-zyTk8FM_b-w"
               },
               "airState.wMode.jet":0.0,
               "airState.powerSave.basic":0.0,
               "online":false,
               "airState.wDir.hStep":0.0,
               "timestamp":1.589223162996E12,
               "airState.tempState.target":21.0,
               "airState.reservation.targetTimeToStop":0.0,
               "airState.lightingState.displayControl":0.0,
               "airState.wDir.vStep":0.0,
               "airState.diagCode":0.0,
               "airState.miscFuncState.extraOp":0.0,
               "airState.energy.onCurrent":0.0
            },
            "online":false,
            "platformType":"thinq2",
            "area":249758,
            "regDt":2.0200501142812E13,
            "blackboxYn":"Y",
            "modelProtocol":"STANDARD",
            "order":0,
            "drServiceYn":"N",
            "fwInfoList":[
               {
                  "order":1.0,
                  "checksum":"00000409",
                  "partNumber":"SAA38690409"
               }
            ],
            "modemInfo":{
               "modemType":"QCOM_QCA4010",
               "modelName":"RAC_056905_WW",
               "appVersion":"clip_hna_v1.9.045"
            },
            "guideTypeYn":"Y",
            "guideType":"",
            "regDtUtc":"20200501122812",
            "groupableYn":"Y",
            "controllableYn":"Y",
            "combinedProductYn":"N",
            "masterYn":"Y",
            "tclcount":0
         }
      ],
      "group":[

      ]
   }
}
Tycale commented 4 years ago

Hello,

Thanks for your answers and your reactivity @tinkerborg !

Here is my dump:

{'activeSaving': 'OFF',
 'alias': 'CLIMATISEUR',
 'appType': 'NUTS',
 'area': 27581,
 'blackboxYn': 'Y',
 'combinedProductYn': 'N',
 'controllableYn': 'Y',
 'countryCode': 'BE',
 'curOffset': 2,
 'curOffsetDisplay': '+02:00',
 'deviceCode': 'AI01',
 'deviceId': '00000000-0000-0000-0000-000000000000',
 'deviceState': 'E',
 'deviceType': 401,
 'drServiceYn': 'N',
 'dstOffset': 2,
 'dstOffsetDisplay': '+02:00',
 'fwVer': '',
 'groupableYn': 'Y',
 'imageFileName': 'ac_home_wall_airconditioner_img.png',
 'macAddress': '44:cb:8b:aa:aa:aa',
 'masterYn': 'Y',
 'modelCountryCode': 'WW',
 'modelName': 'RAC_056905_WW',
 'modelProtocol': 'STANDARD',
 'networkType': '02',
 'newRegYn': 'N',
 'online': True,
 'order': 0,
 'platformType': 'thinq2',
 'receipeVersion': 0,
 'regDt': 20200510030528.0,
 'regDtUtc': '20200510010528',
 'remoteControlType': '',
 'sdsGuide': '{"deviceCode":"AI01"}',
 'smartCareV2': 'OFF',
 'snapshot': {'airState.diagCode': 0.0,
              'airState.energy.accumulated': 0.0,
              'airState.energy.accumulatedTime': 0.0,
              'airState.energy.onCurrent': 50.0,
              'airState.filterMngStates.maxTime': 0.0,
              'airState.filterMngStates.useTime': 0.0,
              'airState.lightingState.displayControl': 0.0,
              'airState.miscFuncState.autoDry': 0.0,
              'airState.miscFuncState.extraOp': 0.0,
              'airState.opMode': 4.0,
              'airState.operation': 0.0,
              'airState.powerSave.basic': 0.0,
              'airState.quality.sensorMon': 0.0,
              'airState.reservation.sleepTime': 0.0,
              'airState.reservation.targetTimeToStart': 0.0,
              'airState.reservation.targetTimeToStop': 0.0,
              'airState.tempState.current': 24.5,
              'airState.tempState.target': 25.0,
              'airState.wDir.hStep': 35.0,
              'airState.wDir.vStep': 100.0,
              'airState.wMode.airClean': 0.0,
              'airState.wMode.jet': 0.0,
              'airState.wMode.lowHeating': 0.0,
              'airState.windStrength': 2.0,
              'meta': {'allDeviceInfoUpdate': False,
                       'messageId': 'AlfBTF6XSv-fYG2cD71OkA'},
              'online': True,
              'static': {'countryCode': 'BE', 'deviceType': '401'},
              'timestamp': 1589303956944.0},
 'softapId': '',
 'softapPass': '',
 'ssid': 'iot',
 'tclcount': 0,
 'tftYn': 'N',
 'timezoneCode': 'Europe/Brussels',
 'timezoneCodeAlias': 'Europe/Brussels',
 'userNo': 'BE2005104452921',
 'utcOffset': 1,
 'utcOffsetDisplay': '+01:00'}
tinkerborg commented 4 years ago

Thanks, this should be helpful. Can someone also grab a modeljson descriptor for one of these devices? I can't get one via the URI as you need both a model # and device ID. I've modified the example.py in the dump-devices branch to output modeljson descriptors. These contain a URL which you should be able to hit w/ curl, no other auth should be needed. That URL should return a JSON descriptor of this data model.

Tycale commented 4 years ago

Here 👍

{
  "Info": {
    "productType": "AC",
    "country": "KR",
    "modelType": "RAC",
    "model": "Full ModelJson",
    "modelName": "Full Model",
    "networkType": "WIFI",
    "version": "11.08",
    "productCode": "AI01"
  },
  "Module": {
    "WPM": {
      "GAM_CEN01_Main" : "203",
      "GAM_ENM01_Moment" : "203",
      "GAM_ENM02_Weekly" : "203",
      "GAM_ENM03_Monthly" : "203",
      "GAM_FIL01_Main" : "203",
      "GAM_FIL02_Date" : "203",
      "GAM_FOT01_Main" : "203",
      "GAM_POG01_Main" : "203",
      "GAM_POL01_Inside" : "203",
      "GAM_POL02_Outside" : "203",
      "GAM_QVP01_Select" : "201",
      "GAM_QVP02_Naming" : "201",
      "GAM_QVP03_Complete" : "201",
      "GAM_QVP04_Init" : "201",
      "GAM_SCH01_Main" : "203",
      "GAM_SCH02_AddEdit" : "205",
      "GAM_SCH03_Delete" : "203",
      "GAM_SET01_Main" : "203",
      "GAM_SET02_PushList" : "203",
      "GAM_SET04_EnergySet" : "203",
      "GAM_SET05_EnergyFee" : "005",
      "GAM_SET09_Region" : "005",
      "GAM_SET11_TempUnit" : "203",
      "GAM_SET16_QVoiceOption" : "203",
      "GAM_SMT01_SmartCare" : "005",
      "GAM_SMT02_RecommendTemp" : "005",
      "GAM_WMG01_Main" : "203",
      "GAM_WMG02_Mode" : "203"
    },
    "Menu": [
    ]
  },
  "Value": {
    "support.airState.opMode": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@AC_MAIN_OPERATION_MODE_COOL_W",
        "2": "@AC_MAIN_OPERATION_MODE_DRY_W",
        "3": "@AC_MAIN_OPERATION_MODE_FAN_W",
        "5": "@AC_MAIN_OPERATION_MODE_HEAT_W",
        "7": "@AC_MAIN_OPERATION_MODE_ACO_W"
      }
    },
    "support.airState.windStrength": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "3": "@AC_MAIN_WIND_STRENGTH_LOW_W",
        "4": "@AC_MAIN_WIND_STRENGTH_LOW_MID_W",
        "5": "@AC_MAIN_WIND_STRENGTH_MID_W",
        "6": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_W",
        "7": "@AC_MAIN_WIND_STRENGTH_HIGH_W",
        "9": "@AC_MAIN_WIND_STRENGTH_NATURE_W"
      }
    },
    "support.airState.wDir": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@AC_MAIN_WIND_DIRECTION_FIX_W"
      }
    },
    "support.vaneNum": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.airState.wMode": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@OFF"
      }
    },
    "support.pacMode": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.racMode": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "2": "@ENERGYSAVING",
        "3": "@AUTODRY"
      }
    },
    "support.reserve": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@SLEEP_TIMER",
        "2": "@EASY_TIMER",
        "3": "@ONOFF_TIMER",
        "6": "@WEEKLY_SCHEDULE"
      }
    },
    "support.light": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "2": "@BRIGHTNESS_CONTROL"
      }
    },
    "support.airState.tempState.unit": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@C",
        "2": "@F"
      }
    },
    "support.tempCtrl": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@1_0UNIT_CONTROL",
        "1": "@0_5UNIT_CONTROL"
      }
    },
    "support.micom": {
      "data_type": "enum",
      "value_mapping": {
        "1": "@1",
        "4": "@4",
        "11": "@11",
        "17": "@17",
        "20": "@20",
        "22": "@22",
        "23": "@23"
      }
    },
    "support.airState.groupType": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "support.accumMode": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NOT_SUPPORT",
        "1": "@ACCUMULATE_INDOOR"
      }
    },
    "support.airState.miscFuncState.extraOp": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@EMERGENCY_OPER",
        "1": "@CENTRAL_ALL_LOCK"
      }
    },
    "support.racSubMode": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@AC_MAIN_WIND_MODE_COOL_JET_W",
        "2": "@AC_MAIN_WIND_MODE_HEAT_JET_W",
        "3": "@AC_MAIN_WIND_DIRECTION_STEP_UP_DOWN_W",
        "4": "@AC_MAIN_WIND_DIRECTION_STEP_LEFT_RIGHT_W"
      }
    },
    "support.airState.ductZone.type": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.ductZone.control": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.mFilter": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.vision": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airPolution": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.aroma": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.qVoice": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.qVoiceOption": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.standByPwr": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.notification.detailList": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.filterMngState.desorption": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.smartFunc": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@wifiDiagnosis",
        "2": "@Fota",
        "3": "@audibleDiagnosis"
      }
    },
    "support.coolLowLimit": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.coolHighLimit": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.heatLowLimit": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.heatHighLimit": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.acoLowLimit": {
      "data_type": "enum",
      "value_mapping": {
        "0": 0
      }
    },
    "support.acoHighLimit": {
      "data_type": "enum",
      "value_mapping": {
          "0": 0
      }
    },
    "support.humidity.control": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.circulate.strength": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.circulate.rotate": {
      "data_type": "enum",
      "value_mapping": {
        "0": "@NONSUPPORT"
      }
    },
    "airState.operation": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_MAIN_OPERATION_OFF_W",
        "1": "@AC_MAIN_OPERATION_ON_W",
        "2": "@AC_MAIN_OPERATION_RIGHT_ON_W",
        "256": "@AC_MAIN_OPERATION_LEFT_ON_W",
        "257": "@AC_MAIN_OPERATION_ALL_ON_W"
      }
    },
    "airState.opMode": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_MAIN_OPERATION_MODE_COOL_W",
        "1": "@AC_MAIN_OPERATION_MODE_DRY_W",
        "2": "@AC_MAIN_OPERATION_MODE_FAN_W",
        "3": "@AC_MAIN_OPERATION_MODE_AI_W",
        "4": "@AC_MAIN_OPERATION_MODE_HEAT_W",
        "5": "@AC_MAIN_OPERATION_MODE_AIRCLEAN_W",
        "6": "@AC_MAIN_OPERATION_MODE_ACO_W",
        "7": "@AC_MAIN_OPERATION_MODE_AROMA_W",
        "8": "@AC_MAIN_OPERATION_MODE_ENERGY_SAVING_W",
        "9": "@AC_MAIN_OPERATION_MODE_CLEANING_W",
        "10": "@AC_MAIN_OPERATION_MODE_SLEEPING_W",
        "11": "@AC_MAIN_OPERATION_MODE_SILENT_W",
        "12": "@AC_MAIN_OPERATION_MODE_HUMIDITY_W",
        "13": "@AC_MAIN_OPERATION_MODE_CIRCULATOR_CLEAN_W",
        "14": "@AC_MAIN_OPERATION_MODE_BABY_CARE_W",
        "15": "@AC_MAIN_OPERATION_MODE_DUAL_CLEAN_W",
        "16": "@AC_MAIN_OPERATION_MODE_AUTO_W",
        "17": "@AC_MAIN_OPERATION_MODE_SMART_DEHUM_W",
        "18": "@AC_MAIN_OPERATION_MODE_FAST_DEHUM_W",
        "19": "@AC_MAIN_OPERATION_MODE_CILENT_DEHUM_W",
        "20": "@AC_MAIN_OPERATION_MODE_CONCENTRATION_DRY_W",
        "21": "@AC_MAIN_OPERATION_MODE_CLOTHING_DRY_W",
        "22": "@AC_MAIN_OPERATION_MODE_IONIZER_W",
        "23": "@AC_MAIN_OPERATION_MODE_ANTIBUGS_W"
      }
    },
    "airState.windStrength": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_MAIN_WIND_STRENGTH_SLOW_W",
        "1": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_W",
        "2": "@AC_MAIN_WIND_STRENGTH_LOW_W",
        "3": "@AC_MAIN_WIND_STRENGTH_LOW_MID_W",
        "4": "@AC_MAIN_WIND_STRENGTH_MID_W",
        "5": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_W",
        "6": "@AC_MAIN_WIND_STRENGTH_HIGH_W",
        "7": "@AC_MAIN_WIND_STRENGTH_POWER_W",
        "8": "@AC_MAIN_WIND_STRENGTH_NATURE_W",
        "9": "@AC_MAIN_WIND_STRENGTH_LONGPOWER_W",
        "10": "@AC_MAIN_WIND_STRENGTH_SHOWER_W",
        "11": "@AC_MAIN_WIND_STRENGTH_FOREST_W",
        "12": "@AC_MAIN_WIND_SMARTCARE_W",
        "13": "@AP_MAIN_WIND_STRENGTH_FASTWIND_W",
        "256": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "257": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "258": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "259": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "260": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "261": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "262": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "263": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "264": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "511": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W",
        "512": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "513": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "514": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "515": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "516": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "517": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "518": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "519": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "520": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "767": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W",
        "768": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "769": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "770": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "771": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "772": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "773": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "774": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "775": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "776": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "1023": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W",
        "1024": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "1025": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "1026": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "1027": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "1028": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "1029": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "1030": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "1031": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "1032": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "1279": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W",
        "1280": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "1281": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "1282": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "1283": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "1284": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "1285": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "1286": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "1287": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "1288": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "1535": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W",
        "1536": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "1537": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "1538": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "1539": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "1540": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "1541": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "1542": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "1543": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "1544": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "1791": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W",
        "1792": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "1793": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "1794": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "1795": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "1796": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "1797": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "1798": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "1799": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "1800": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "2047": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W",
        "2048": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "2049": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "2050": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "2051": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "2052": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "2053": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "2054": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "2055": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "2056": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W",
        "2303": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W",
        "2313": "@AC_MAIN_WIND_STRENGTH_LONGPOWER_LEFT_W|AC_MAIN_WIND_STRENGTH_LONGPOWER_RIGHT_W",
        "2570": "@AC_MAIN_WIND_STRENGTH_SHOWER_LEFT_W|AC_MAIN_WIND_STRENGTH_SHOWER_RIGHT_W",
        "2827": "@AC_MAIN_WIND_STRENGTH_FOREST_LEFT_W|AC_MAIN_WIND_STRENGTH_FOREST_RIGHT_W",
        "3084": "@AC_MAIN_WIND_STRENGTH_TURBO_LEFT_W|AC_MAIN_WIND_STRENGTH_TURBO_RIGHT_W",
        "65280": "@AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W",
        "65281": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W",
        "65282": "@AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W",
        "65283": "@AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W",
        "65284": "@AC_MAIN_WIND_STRENGTH_MID_RIGHT_W",
        "65285": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W",
        "65286": "@AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W",
        "65287": "@AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W",
        "65288": "@AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W"
      }
    },
    "airState.ctrlFrom": {
      "data_type": "enum",
      "default": "1",
      "value_mapping": {
        "1": 1,
        "2": 2,
        "3": 3,
        "4": 4,
        "5": 5
      }
    },
    "airState.wDir.up": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON",
        "2": "@AC_MAIN_WIND_DIRECTION_UPFOCUS_W"
      }
    },
    "airState.wDir.down": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON",
        "2": "@AC_MAIN_WIND_DIRECTION_DOWNFOCUS_W"
      }
    },
    "airState.wDir.left": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON",
        "2": "@AC_MAIN_WIND_DIRECTION_LEFTFOCUS_W"
      }
    },
    "airState.wDir.right": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON",
        "2": "@AC_MAIN_WIND_DIRECTION_RIGHTFOCUS_W"
      }
    },
    "airState.wDir.leftRight": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON",
        "2": "@RIGHT_ON",
        "256": "@LEFT_ON",
        "257": "@ALL_ON"
      }
    },
    "airState.wDir.auto": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1,
        "2": 2,
        "256": 256,
        "257": 257
      }
    },
    "airState.wDir.upDown": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wDir.swirl": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wDir.side": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wDir.vStep": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@1",
        "2": "@2",
        "3": "@3",
        "4": "@4",
        "5": "@5",
        "6": "@6",
        "16": 16,
        "32": 32,
        "48": 48,
        "64": 64,
        "80": 80,
        "96": 96,
        "100": "@100",
        "101": 101,
        "102": 102,
        "103": 103,
        "104": 104,
        "105": 105,
        "256": 256,
        "512": 512,
        "768": 768,
        "1024": 1024,
        "1080": 1080,
        "1536": 1536,
        "4096": 4096,
        "8192": 8192,
        "12288": 12288,
        "16384": 16384,
        "20480": 20480,
        "24576": 24576,
        "65536": 65536
      }
    },
    "airState.wDir.hStep": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@1",
        "2": "@2",
        "3": "@3",
        "4": "@4",
        "5": "@5",
        "6": 6,
        "13": "@13",
        "16": 16,
        "32": 32,
        "35": "@35",
        "48": 48,
        "64": 64,
        "80": 80,
        "96": 96,
        "100": "@100",
        "101": 101,
        "102": 102,
        "103": 103,
        "104": 104,
        "256": 256,
        "512": 512,
        "768": 768,
        "1024": 1024,
        "1080": 1080,
        "1536": 1536,
        "4096": 4096,
        "8192": 8192,
        "12288": 12288,
        "16384": 16384,
        "20480": 20480,
        "24576": 24576,
        "65536": 65536
      }
    },
    "airState.wMode.flowForest": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.flowLongPower": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.smartCare": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.flowShower": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.turbo": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.iceValley": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.airClean": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_MAIN_AIRCLEAN_OFF_W",
        "1": "@AC_MAIN_AIRCLEAN_ON_W"
      }
    },
    "airState.wMode.lowHeating": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.wMode.humanCare": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_NO_SETTING_S",
        "1": "@AC_MAIN_WIND_MODE_HUMAN_DIRECT_W",
        "2": "@AC_MAIN_WIND_MODE_HUMAN_INDIRECT_W"
      }
    },
    "airState.wMode.jet": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@COOL_JET",
        "2": "@HEAT_JET",
        "3": "@DRY_JET_W",
        "4": "@HIMALAYAS_COOL"
      }
    },
    "airState.wMode.indirectWind": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.tempState.target": {
      "data_type": "range",
      "default": 18,
      "value_validation": {
        "min": 18,
        "max": 30
      }
    },
    "TempCelToFah": {
      "_comment": "## 섭씨 화씨 변환 테이블",
      "data_type": "enum",
      "default": "60",
      "value_mapping": {
        "10": 50,
        "11": 52,
        "12": 54,
        "13": 56,
        "14": 58,
        "15": 59,
        "16": 60,
        "17": 62,
        "18": 64,
        "19": 66,
        "20": 68,
        "21": 70,
        "22": 72,
        "23": 74,
        "24": 76,
        "25": 77,
        "26": 78,
        "27": 80,
        "28": 82,
        "29": 84,
        "30": 86,
        "31": 88,
        "32": 90,
        "33": 92,
        "34": 94,
        "35": 95,
        "36": 96,
        "37": 98,
        "38": 100,
        "39": 102,
        "40": 104,
        "10.5": 51,
        "11.5": 53,
        "12.5": 55,
        "13.5": 57,
        "14.5": 58,
        "15.5": 59,
        "16.5": 61,
        "17.5": 63,
        "18.5": 65,
        "19.5": 67,
        "20.5": 69,
        "21.5": 71,
        "22.5": 73,
        "23.5": 75,
        "24.5": 76,
        "25.5": 77,
        "26.5": 79,
        "27.5": 81,
        "28.5": 83,
        "29.5": 85,
        "30.5": 87,
        "31.5": 89,
        "32.5": 91,
        "33.5": 93,
        "34.5": 94,
        "35.5": 95,
        "36.5": 97,
        "37.5": 99,
        "38.5": 101,
        "39.5": 103
      }
    },
    "TempFahToCel": {
      "_comment": "## 화씨 섭씨 변환 테이블",
      "data_type": "enum",
      "default": "60",
      "value_mapping": {
        "50": 10,
        "51": 10.5,
        "52": 11,
        "53": 11.5,
        "54": 12,
        "55": 12.5,
        "56": 13,
        "57": 13.5,
        "58": 14,
        "59": 15,
        "60": 16,
        "61": 16.5,
        "62": 17,
        "63": 17.5,
        "64": 18,
        "65": 18.5,
        "66": 19,
        "67": 19.5,
        "68": 20,
        "69": 20.5,
        "70": 21,
        "71": 21.5,
        "72": 22,
        "73": 22.5,
        "74": 23,
        "75": 23.5,
        "76": 24,
        "77": 25,
        "78": 26,
        "79": 26.5,
        "80": 27,
        "81": 27.5,
        "82": 28,
        "83": 28.5,
        "84": 29,
        "85": 29.5,
        "86": 30,
        "87": 30.5,
        "88": 31,
        "89": 31.5,
        "90": 32,
        "91": 32.5,
        "92": 33,
        "93": 33.5,
        "94": 34,
        "95": 35,
        "96": 36,
        "97": 36.5,
        "98": 37,
        "99": 37.5,
        "100": 38,
        "101": 38.5,
        "102": 39,
        "103": 39.5,
        "104": 40
      }
    },
    "modeEx": {
      "_comment": "## 모드 별 온도, 풍량 예외처리_창문형, [설정온도, 풍량]",
      "value_mapping": {
        "@AC_MAIN_OPERATION_MODE_COOL_W": [
          true,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_DRY_W": [
          false,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_FAN_W": [
          false,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_AI_W": [
          true,
          false
        ],
        "@AC_MAIN_OPERATION_MODE_HEAT_W": [
          true,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_AIRCLEAN_W": [
          false,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_ACO_W": [
          true,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_ENERGY_SAVER_W": [
          true,
          true
        ],
        "@AC_MAIN_OPERATION_MODE_ANTIBUGS_W": [
          false,
          false
        ]
      }
    },
    "airState.tempState.current": {
      "data_type": "range",
      "default": 11,
      "value_validation": {
        "min": 1,
        "max": 39
      }
    },
    "airState.tempState.unit": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@F",
        "1": "@C",
        "2": "@K"
      }
    },
    "airState.tempState.step": {
      "data_type": "range",
      "default": 1,
      "value_validation": {
        "min": 1,
        "max": 10
      }
    },
    "airState.tempState.limitMax": {
      "data_type": "range",
      "default": 16,
      "value_validation": {
        "min": 16,
        "max": 30
      }
    },
    "airState.tempState.limitMin": {
      "data_type": "range",
      "default": 16,
      "value_validation": {
        "min": 16,
        "max": 30
      }
    },
    "airState.reservation.sleepTime": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 420
      }
    },
    "airState.reservation.targetTimeToStart": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1440
      }
    },
    "airState.reservation.targetTimeToStop": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1440
      }
    },
    "airState.reservation.absoluteStartTime": {
      "type": "string",
      "value_validation": {
        "min": 0,
        "max": 2400
      }
    },
    "airState.reservation.absoluteStopTime": {
      "type": "string",
      "value_validation": {
        "min": 0,
        "max": 2400
      }
    },
    "airState.powerSave.basic": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.powerSave.hum": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.voice.recog": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON",
        "2": "@INTERACTIVE"
      }
    },
    "airState.voice.volume": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@MIN",
        "2": "@MID",
        "3": "@MAX"
      }
    },
    "airState.voice.sensitivity": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@MIN",
        "1": "@MID",
        "2": "@MAX"
      }
    },
    "airState.voice.setting": {
      "data_type": "range",
      "default": 1,
      "value_validation": {
        "min": 1,
        "max": 9
      }
    },
    "airState.voice.spkVolume": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 10
      }
    },
    "airState.voice.QVoiceOption": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_VOICE_LG_WHISEN",
        "1": "@AC_VOICE_HI_LG"
      }
    },
    "airState.voice.feedbackSound": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.quality.PM1": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 999
      }
    },
    "airState.quality.PM2": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 999
      }
    },
    "airState.quality.PM10": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 999
      }
    },
    "airState.quality.odor": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1000
      }
    },
    "airState.quality.overall": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1000
      }
    },
    "airState.quality.sensorMon": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.quality.airMon": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_SETTING_SENSORMON_OPERATIONING_W",
        "1": "@AP_SETTING_SENSORMON_ALWAYS_W"
      }
    },
    "airState.quality.CO2": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 4095
      }
    },
    "airState.quality.CO2Level": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@",
        "1": "@",
        "2": "@",
        "3": "@",
        "4": "@"
      }
    },
    "airState.diagCode": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 300
      }
    },
    "airState.groupType": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@PAC",
        "1": "@RAC",
        "2": "@CAC",
        "3": "@AWHP",
        "4": "@VENT",
        "5": "@DUCT",
        "6": "@CVT",
        "7": "@DX_VENT",
        "8": "@POT",
        "9": "@WIN",
        "10": "@CST",
        "11": "@CONSOL",
        "12": "@AIR",
        "13": "@HUM"
      }
    },
    "airState.prodType": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1,
        "2": 2
      }
    },
    "airState.rac.addFunc": {
      "data_type": "enum",
      "default": "NS",
      "value_mapping": {
        "0": "@AIRCLEAN",
        "1": "@ENERGYSAVING",
        "2": "@AUTODRY",
        "3": "@DANGGYMOGY",
        "4": "@CIRCULATOR_OPERATION",
        "5": "@ANION",
        "6": "@LEARNNING",
        "7": "@NODRY",
        "8": "@HEATER",
        "NS": "@NON"
      }
    },
    "airState.rac.operation": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.filterMngState.useTime": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.remainTime": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.maxTime": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.changeDate": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.type": {
      "data_type": "enum",
      "default": "1",
      "value_mapping": {
        "1": 1,
        "2": 2
      }
    },
    "airState.filterMngState.useTimeTop": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.maxTimeTop": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.useTimeMiddle": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.maxTimMiddle": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.useTimeBottom": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.maxTimeBottom": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.useTimeDeodor": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.maxTimeDeodor": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0
      }
    },
    "airState.filterMngState.desorption": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1,
        "2": 2,
        "3": 3,
        "4": 4
      }
    },
    "airState.lightingState.displayControl": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.lightingState.mood": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.lightingState.signal": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.lightingState.magicColor": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@COLLWHITE",
        "2": "@WARMWHITE01",
        "3": "@WARMWHITE02"
      }
    },
    "airState.lightingState.magicBrightness": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "1": "@DARK",
        "2": "@MID",
        "3": "@BRIGHT"
      }
    },
    "airState.ductZone.control": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1,
        "2": 2,
        "3": 3,
        "4": 4,
        "5": 5,
        "6": 6,
        "7": 7
      }
    },
    "airState.ductZone.type": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1,
        "2": 2
      }
    },
    "airState.aroma.color": {
      "data_type": "enum",
      "default": "1",
      "value_mapping": {
        "1": "@LAVENDAR",
        "2": "@ROSEMARY",
        "3": "@HEALING"
      }
    },
    "airState.aroma.sound": {
      "data_type": "enum",
      "default": "1",
      "value_mapping": {
        "1": "@LAVENDAR",
        "2": "@ROSEMARY",
        "3": "@HEALING"
      }
    },
    "airState.aroma.state": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_MAIN_AROMA_OFF_W",
        "1": "@AC_MAIN_AROMA_ON_W"
      }
    },
    "airState.energy.totlaCurrent": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 40
      }
    },
    "airState.energy.inCurrent": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 40
      }
    },
    "airState.energy.outCurrent": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 40
      }
    },
    "airState.energy.accumulated": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 40
      }
    },
    "airState.energy.accumulatedTime": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1440
      }
    },
    "airState.energy.desired": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 280
      }
    },
    "airState.energy.desiredDay": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 40
      }
    },
    "airState.energy.desiredWeek": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 280
      }
    },
    "airState.energy.desiredMonth": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1250
      }
    },
    "airState.homeCare.onOff": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.homeCare.delay": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 10800
      }
    },
    "airState.homeCare.interval": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 900
      }
    },
    "airState.homeCare.imageNum": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 10
      }
    },
    "airState.circulate.strength": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOWST_LOW_W",
        "1": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOWST_W",
        "2": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOW_W",
        "3": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOW_MID_W",
        "4": "@AP_MAIN_MID_CIRCULATORSTRENGTH_MID_W",
        "5": "@AP_MAIN_MID_CIRCULATORSTRENGTH_MID_HIGH_W",
        "6": "@AP_MAIN_MID_CIRCULATORSTRENGTH_HIGH_W",
        "7": "@AP_MAIN_MID_CIRCULATORSTRENGTH_POWER_W",
        "8": "@AP_MAIN_MID_CIRCULATORSTRENGTH_AUTO_W",
        "9": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LINK_W"
      }
    },
    "airState.circulate.rotate": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.antiBugs": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.airRemoval": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.airFast": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.airUVDisinfection": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.watertankLight": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.cleanDry": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.humidification": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1
      }
    },
    "airState.miscFuncState.robotCleanManual": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.miscFuncState.robotCleanAuto": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.miscFuncState.autoDry": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": "@ON"
      }
    },
    "airState.miscFuncState.extraOp": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@OFF",
        "1": 1,
        "2": "@AC_MAIN_LOCK_VALUE_ALL_W",
        "4": "@AC_MAIN_LOCK_VALUE_TEMP_W",
        "6": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_W",
        "8": "@AC_MAIN_LOCK_VALUE_FAN_W",
        "10": "@AC_MAIN_LOCK_VALUE_ALL_FAN_W",
        "12": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_W",
        "14": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_W",
        "16": "@AC_MAIN_LOCK_VALUE_MODE_W",
        "18": "@AC_MAIN_LOCK_VALUE_ALL_MODE_W",
        "20": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_W",
        "22": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_W",
        "24": "@AC_MAIN_LOCK_VALUE_FAN_MODE_W",
        "26": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_W",
        "28": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_W",
        "30": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_W",
        "32": 32,
        "64": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_W",
        "66": "@AC_MAIN_LOCK_VALUE_ALL_GROUPCONTROL_W",
        "68": "@AC_MAIN_LOCK_VALUE_TEMP_GROUPCONTROL_W",
        "70": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_GROUPCONTROL_W",
        "72": "@AC_MAIN_LOCK_VALUE_FAN_GROUPCONTROL_W",
        "74": "@AC_MAIN_LOCK_VALUE_ALL_FAN_GROUPCONTROL_W",
        "76": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_GROUPCONTROL_W",
        "78": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_GROUPCONTROL_W",
        "80": "@AC_MAIN_LOCK_VALUE_MODE_GROUPCONTROL_W",
        "82": "@AC_MAIN_LOCK_VALUE_ALL_MODE_GROUPCONTROL_W",
        "84": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_GROUPCONTROL_W",
        "86": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_GROUPCONTROL_W",
        "88": "@AC_MAIN_LOCK_VALUE_FAN_MODE_GROUPCONTROL_W",
        "90": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_GROUPCONTROL_W",
        "92": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_GROUPCONTROL_W",
        "94": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_GROUPCONTROL_W",
        "128": "@AC_MAIN_LOCK_VALUE_DRYCONTACT_W",
        "130": "@AC_MAIN_LOCK_VALUE_ALL_DRYCONTACT_W",
        "132": "@AC_MAIN_LOCK_VALUE_TEMP_DRYCONTACT_W",
        "134": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_DRYCONTACT_W",
        "136": "@AC_MAIN_LOCK_VALUE_FAN_DRYCONTACT_W",
        "138": "@AC_MAIN_LOCK_VALUE_ALL_FAN_DRYCONTACT_W",
        "140": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_DRYCONTACT_W",
        "142": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_DRYCONTACT_W",
        "144": "@AC_MAIN_LOCK_VALUE_MODE_DRYCONTACT_W",
        "146": "@AC_MAIN_LOCK_VALUE_ALL_MODE_DRYCONTACT_W",
        "148": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_DRYCONTACT_W",
        "150": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_DRYCONTACT_W",
        "152": "@AC_MAIN_LOCK_VALUE_FAN_MODE_DRYCONTACT_W",
        "154": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_DRYCONTACT_W",
        "156": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_DRYCONTACT_W",
        "158": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_DRYCONTACT_W",
        "192": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_DRYCONTACT_W",
        "194": "@AC_MAIN_LOCK_VALUE_ALL_GROUPCONTROL_DRYCONTACT_W",
        "196": "@AC_MAIN_LOCK_VALUE_TEMP_GROUPCONTROL_DRYCONTACT_W",
        "198": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_GROUPCONTROL_DRYCONTACT_W",
        "200": "@AC_MAIN_LOCK_VALUE_FAN_GROUPCONTROL_DRYCONTACT_W",
        "202": "@AC_MAIN_LOCK_VALUE_ALL_FAN_GROUPCONTROL_DRYCONTACT_W",
        "204": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_GROUPCONTROL_DRYCONTACT_W",
        "206": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_GROUPCONTROL_DRYCONTACT_W",
        "208": "@AC_MAIN_LOCK_VALUE_MODE_GROUPCONTROL_DRYCONTACT_W",
        "210": "@AC_MAIN_LOCK_VALUE_ALL_MODE_GROUPCONTROL_DRYCONTACT_W",
        "212": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_GROUPCONTROL_DRYCONTACT_W",
        "214": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_GROUPCONTROL_DRYCONTACT_W",
        "216": "@AC_MAIN_LOCK_VALUE_FAN_MODE_GROUPCONTROL_DRYCONTACT_W",
        "218": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_GROUPCONTROL_DRYCONTACT_W",
        "220": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_GROUPCONTROL_DRYCONTACT_W",
        "222": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_GROUPCONTROL_DRYCONTACT_W",
        "256": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "258": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "260": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "262": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "264": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "266": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "268": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "270": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "272": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "274": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "276": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "278": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "280": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "282": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "284": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "286": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "320": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "322": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "324": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "326": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "328": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "330": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "332": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "334": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "336": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "338": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "340": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "342": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "344": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "346": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "348": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "350": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "384": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "386": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "388": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "390": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "392": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "394": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "396": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "398": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "400": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "402": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "404": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "406": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "408": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "410": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "412": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "414": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W",
        "448": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W",
        "512": 512
      }
    },
    "airState.miscFuncState.dRED": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": 0,
        "1": 1,
        "2": 2,
        "3": 3
      }
    },
    "airState.miscFuncState.safeOpRemainTime": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 60
      }
    },
    "airState.outside.quality.PM2": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 1000
      }
    },
    "airState.outside.humidity.current": {
      "data_type": "range",
      "default": 35,
      "value_validation": {
        "min": 35,
        "max": 90
      }
    },
    "airState.outside.temperature.current": {
      "data_type": "range",
      "default": -40,
      "value_validation": {
        "min": -40,
        "max": 60
      }
    },
    "airState.notification.list": {
      "data_type": "enum",
      "default": "1",
      "value_mapping": {
        "1": "@AP_SETTING_ALARM_MANSU_W",
        "2": "@AP_SETTING_ALARM_LOWHEAT_W",
        "3": "@AP_SETTING_ALARM_DUST_W",
        "4": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "5": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "6": "@AP_SETTING_ALARM_WATERTANK_LACK_W",
        "7": "@AP_SETTING_ALARM_HOMECARE_W",
        "8": 8,
        "256": 256
      }
    },
    "airState.notification.detailList": {
      "data_type": "enum",
      "default": "1",
      "value_mapping": {
        "1": "@AP_SETTING_ALARM_MANSU_W",
        "2": "@AP_SETTING_ALARM_LOWHEAT_W",
        "3": "@AP_SETTING_ALARM_DUST_W",
        "4": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "5": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "6": "@AP_SETTING_ALARM_WATERTANK_LACK_W",
        "7": "@AP_SETTING_ALARM_HOMECARE_W",
        "8": 8,
        "9": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "10": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "11": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "12": "@AP_SETTING_ALARM_FILTER_CHANGE_W",
        "13": "@AP_SETTING_ALARM_DUST_W",
        "14": "@AP_SETTING_ALARM_D_PLUS_TOP_FILTER_W",
        "15": "@AP_SETTING_ALARM_D_PLUS_BOTTOM_FILTER_W",
        "16": "@AP_SETTING_ALARM_FILTER_DEODORIZATION_W",
        "17": "@AP_SETTING_ALARM_RECOMMEND_W",
        "18": 18
      }
    },
    "airState.vision.numData": {
      "data_type": "range",
      "default": 1,
      "value_validation": {
        "min": 1,
        "max": 3
      }
    },
    "airState.vision.sensing.angle": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 105
      }
    },
    "airState.vision.sensing.ds": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 2
      }
    },
    "airState.humidity.current": {
      "data_type": "range",
      "default": 35,
      "value_validation": {
        "min": 35,
        "max": 90
      }
    },
    "airState.humidity.desired": {
      "data_type": "range",
      "default": 20,
      "value_validation": {
        "min": 20,
        "max": 90
      }
    },
    "airState.mon.timeout": {
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 3600
      }
    },
    "airState.smartCare.status": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AC_SMARTCARE_STATUS_OFF_W",
        "1": "@AC_SMARTCARE_STATUS_SPEED_COOL_W",
        "2": "@AC_SMARTCARE_STATUS_PLEASANT_W",
        "3": "@AC_SMARTCARE_STATUS_SAVING_W",
        "4": "@AC_SMARTCARE_STATUS_CUSTOM_TEMPERATURE_W",
        "5": "@AC_SMARTCARE_STATUS_DEHUMIDIFICATION_W"
      }
    }
  },
  "ControlDevice": [
    {
      "ctrlKey": "basicCtrl",
      "comment": "원격제어-기본제어, 운전모드, 바람세기, 희망온도설정, 공기청정 On/Off, 공기제균 On/Off",
      "command": "Operation|Get|Set",
      "dataKey": "airState.operation|airState.opMode|airState.windStrength|airState.tempState.target|airState.miscFuncState.airFast|airState.miscFuncState.airRemoval",
      "dataValue": "{%airState.operation%}|{%airState.opMode%}|{%airState.windStrength%}|{%airState.tempState.target%}|{%airState.miscFuncState.airFast%}|{%airState.miscFuncState.airRemoval%}"
    },
    {
      "ctrlKey": "wModeCtrl",
      "comment": "원격제어-특수바람",
      "command": "Get|Set",
      "dataSetList": {
        "airState.wMode.flowForest": "{%airState.wMode.flowForest%}",
        "airState.wMode.flowLongPower": "{%airState.wMode.flowLongPower%}",
        "airState.wMode.flowShower": "{%airState.wMode.flowShower%}",
        "airState.wMode.iceValley": "{%airState.wMode.iceValley%}",
        "airState.wMode.turbo": "{%airState.wMode.turbo%}",
        "airState.wMode.jet": "{%airState.wMode.jet%}",
        "airState.wMode.humanCare": "{%airState.wMode.humanCare%}",
        "airState.wMode.lowHeating": "{%airState.wMode.lowHeating%}",
        "airState.wMode.airClean": "{%airState.wMode.airClean%}",
        "airState.wMode.smartCare": "{%airState.wMode.smartCare%}",
        "airState.wMode.indirectWind": "{%airState.wMode.indirectWind%}"
      },
      "dataGetList": [
        "airState.wMode.flowForest",
        "airState.wMode.flowLongPower",
        "airState.wMode.flowShower",
        "airState.wMode.iceValley",
        "airState.wMode.turbo",
        "airState.wMode.jet",
        "airState.wMode.humanCare",
        "airState.wMode.lowHeating",
        "airState.wMode.airClean",
        "airState.wMode.smartCare",
        "airState.wMode.indirectWind"
      ]
    },
    {
      "ctrlKey": "wDirCtrl",
      "comment": "원격제어-바람방향",
      "command": "Get|Set",
      "dataKey": "airState.wDir.auto|airState.wDir.up|airState.wDir.down|airState.wDir.left|airState.wDir.right|airState.wDir.side|airState.wDir.upDown|airState.wDir.leftRight|airState.wDir.swirl|airState.wDir.vStep|airState.wDir.hStep",
      "dataValue": "{%airState.wDir.auto%}|{%airState.wDir.up%}|{%airState.wDir.down%}|{%airState.wDir.left%}|{%airState.wDir.right%}|{%airState.wDir.side%}|{%airState.wDir.upDown%}|{%airState.wDir.leftRight%}|{%airState.wDir.swirl%}|{%airState.wDir.vStep%}|{%airState.wDir.hStep%}"
    },
    {
      "ctrlKey": "favoriteCtrl",
      "comment": "원격제어(Favorite),에어캡슐-나만의 바람",
      "command": "Get|Set",
      "dataSetList": {
        "airState.operation": "{%airState.operation%}",
        "airState.opMode": "{%airState.opMode%}",
        "airState.windStrength": "{%airState.windStrength%}",
        "airState.tempState.target": "{%airState.tempState.target%}",
        "airState.wMode.airClean": "{%airState.wMode.airClean%}",
        "airState.wDir.vStep": "{%airState.wDir.vStep%}",
        "airState.wDir.hStep": "{%airState.wDir.hStep%}",
        "airState.wMode.jet": "{%airState.wMode.jet%}",
        "airState.powerSave.basic": "{%airState.powerSave.basic%}",
        "airState.wMode.iceValley": "{%airState.wMode.iceValley%}"
      },
      "dataGetList": [
        "airState.operation",
        "airState.opMode",
        "airState.windStrength",
        "airState.tempState.target",
        "airState.wMode.airClean",
        "airState.wDir.vStep",
        "airState.wDir.hStep",
        "airState.wMode.jet",
        "airState.powerSave.basic",
        "airState.wMode.iceValley"
      ]
    },
    {
      "ctrlKey": "reservationCtrl",
      "comment": "원격제어-예약",
      "command": "Get|Set",
      "dataSetList": {
        "airState.reservation.targetTimeToStop": "{%airState.reservation.targetTimeToStop%}",
        "airState.reservation.targetTimeToStart": "{%airState.reservation.targetTimeToStart%}",
        "airState.reservation.sleepTime": "{%airState.reservation.sleepTime%}",
        "airState.reservation.absoluteStopTime": "{%airState.reservation.absoluteStopTime%}",
        "airState.reservation.absoluteStartTime": "{%airState.reservation.absoluteStartTime%}",
        "airState.reservation.monOnTime": "{%airState.reservation.monOnTime%}",
        "airState.reservation.monOffTime": "{%airState.reservation.monOffTime%}",
        "airState.reservation.tueOnTime": "{%airState.reservation.tueOnTime%}",
        "airState.reservation.tueOffTime": "{%airState.reservation.tueOffTime%}",
        "airState.reservation.wedOnTime": "{%airState.reservation.wedOnTime%}",
        "airState.reservation.wedOffTime": "{%airState.reservation.wedOffTime%}",
        "airState.reservation.thuOnTime": "{%airState.reservation.thuOnTime%}",
        "airState.reservation.thuOffTime": "{%airState.reservation.thuOffTime%}",
        "airState.reservation.friOnTime": "{%airState.reservation.friOnTime%}",
        "airState.reservation.friOffTime": "{%airState.reservation.friOffTime%}",
        "airState.reservation.satOnTime": "{%airState.reservation.satOnTime%}",
        "airState.reservation.satOffTime": "{%airState.reservation.satOffTime%}",
        "airState.reservation.sunOnTime": "{%airState.reservation.sunOnTime%}",
        "airState.reservation.sunOffTime": "{%airState.reservation.sunOffTime%}",
        "airState.reservation.advancedSchedule": "{%airState.reservation.advancedSchedule%}"
      },
      "dataGetList": [
        "airState.reservation.targetTimeToStop",
        "airState.reservation.targetTimeToStart",
        "airState.reservation.sleepTime",
        "airState.reservation.absoluteStopTime",
        "airState.reservation.absoluteStartTime",
        "airState.reservation.monOnTime",
        "airState.reservation.monOffTime",
        "airState.reservation.tueOnTime",
        "airState.reservation.tueOffTime",
        "airState.reservation.wedOnTime",
        "airState.reservation.wedOffTime",
        "airState.reservation.thuOnTime",
        "airState.reservation.thuOffTime",
        "airState.reservation.friOnTime",
        "airState.reservation.friOffTime",
        "airState.reservation.satOnTime",
        "airState.reservation.satOffTime",
        "airState.reservation.sunOnTime",
        "airState.reservation.sunOffTime",
        "airState.reservation.advancedSchedule"
      ]
    },
    {
      "ctrlKey": "settingInfo",
      "comment": "원격제어-설정",
      "command": "Get|Set",
      "dataKey": "airState.powerSave.basic|airState.miscFuncState.autoDry|airState.lightingState.magicBrightness|airState.lightingState.mood|airState.voice.spkVolume|airState.tempState.unit",
      "dataValue": "{%airState.powerSave.basic%}|{%airState.miscFuncState.autoDry%}|{%airState.lightingState.magicBrightness}|{%airState.lightingState.mood%}|{%airState.voice.spkVolume%}|{%airState.tempState.unit%}"
    },
    {
      "ctrlKey": "remoteMon",
      "comment": "원격모니터링",
      "command": "Stop|Start"
    },
    {
      "ctrlKey": "diagData",
      "comment": "자가진단",
      "command": "Get"
    },
    {
      "ctrlKey": "filterMngStateCtrl",
      "comment": "필터매니저",
      "command": "Get|Set",
      "dataSetList": {
        "airState.filterMngState.useTime": "{%airState.filterMngState.useTime%}",
        "airState.filterMngState.remainTime": "{%airState.filterMngState.remainTime%}",
        "airState.filterMngState.maxTime": "{%airState.filterMngState.filterMngState.maxTime%}",
        "airState.filterMngState.changeDate": "{%airState.filterMngState.changeDate%}",
        "airState.filterMngState.type": "{%airState.filterMngState.type%}",
        "airState.filterMngState.useTimeTop": "{%airState.filterMngState.useTimeTop%}",
        "airState.filterMngState.maxTimeTop": "{%airState.filterMngState.maxTimeTop%}",
        "airState.filterMngState.useTimeMiddle": "{%airState.filterMngState.useTimeMiddle%}",
        "airState.filterMngState.maxTimMiddle": "{%airState.filterMngState.maxTimMiddle%}",
        "airState.filterMngState.useTimeBottom": "{%airState.filterMngState.useTimeBottom%}",
        "airState.filterMngState.maxTimeBottom": "{%airState.filterMngState.maxTimeBottom%}"
      },
      "dataGetList": [
        "airState.filterMngState.useTime",
        "airState.filterMngState.remainTime",
        "airState.filterMngState.maxTime",
        "airState.filterMngState.changeDate",
        "airState.filterMngState.type",
        "airState.filterMngState.useTimeTop",
        "airState.filterMngState.maxTimeTop",
        "airState.filterMngState.useTimeMiddle",
        "airState.filterMngState.maxTimMiddle",
        "airState.filterMngState.useTimeBottom",
        "airState.filterMngState.maxTimeBottom"
      ]
    },
    {
      "ctrlKey": "energyDesiredCtrl",
      "comment": "에너지 관리,에너지 목표치 설정",
      "command": "Get|Set",
      "dataSetList": {
        "airState.energy.desiredDay": "{%airState.energy.desiredDay%}",
        "airState.energy.desiredWeek": "{%airState.energy.desiredWeek%}",
        "airState.energy.desiredMonth": "{%airState.energy.desiredMonth%}"
      },
      "dataGetList": [
        "airState.energy.desiredDay",
        "airState.energy.desiredWeek",
        "airState.energy.desiredMonth"
      ]
    },
    {
      "ctrlKey": "qualityMngCtrl",
      "comment": "공기오염도 관리",
      "command": "Get|Set",
      "dataKey": "airState.quality.PM1|airState.quality.PM2|airState.quality.PM10|airState.quality.odor|airState.quality.sensorMon|airState.quality.airMon|airState.quality.overall",
      "dataValue": "{%airState.quality.PM1%}|{%airState.quality.PM2%}|{%airState.quality.PM10%}|{%airState.quality.odor%}|{%airState.quality.sensorMon%}|{%airState.quality.airMon%}|{%airState.quality.overall%}"
    },
    {
      "ctrlKey": "homeCareCtrl",
      "comment": "홈케어 제어 명령",
      "command": "Get|Set",
      "dataKey": "airState.homeCare.onOff|airState.homeCare.delay|airState.homeCare.interval",
      "dataValue": "{%airState.homeCare.onOff%}|{%airState.homeCare.delay%}|{%airState.homeCare.interval%}"
    },
    {
      "ctrlKey": "voiceSetting",
      "comment": "음성인식 설정",
      "command": "Get|Set",
      "dataKey": "airState.voice.recog|airState.voice.setting|airState.voice.volume|airState.voice.sensitivity|airState.voice.QVoiceOption|airState.voice.feedbackSound",
      "dataValue": "{%airState.voice.recog%}|{%airState.voice.setting%}|{%airState.voice.volume%}|{%airState.voice.sensitivity%}|{%airState.voice.QVoiceOption%}|{%airState.voice.feedbackSound%}"
    },
    {
      "ctrlKey": "miscCtrl",
      "comment": "기타 부가기능 제어",
      "command": "Get|Set",
      "dataKey": "airState.ductZone.control|airState.aroma.state|airState.aroma.color|airState.aroma.sound",
      "dataValue": "{%airState.ductZone.control%}|{%airState.aroma.state%}|{%airState.aroma.color%}|{%airState.aroma.sound%}"
    },
    {
      "ctrlKey": "racAddCtrl",
      "comment": "RAC 추가 제어",
      "command": "Get|Set",
      "dataKey": "airState.rac.addFunc",
      "dataValue": "{%airState.rac.addFunc%}"
    },
    {
      "ctrlKey": "allEventEnable",
      "comment": "실시간 모니터링데이터 설정",
      "command": "Get|Set",
      "dataKey": "airState.mon.timeout",
      "dataValue": "{%airState.mon.timeout%}"
    },
    {
      "ctrlKey": "energyStateCtrl",
      "comment": "에너지 데이터 조회",
      "command": "Get|Set",
      "dataKey": "airState.energy.inCurrent|airState.energy.outCurrent|airState.energy.totalCurrent",
      "dataValue": "{%airState.energy.inCurrent%}|{%airState.energy.outCurrent%}|{%airState.energy.totalCurrent%}"
    }
  ],
  "SmartMode": {
    "MODE010": {
      "_comment": "외출모드",
      "actionName": "@AC_OPER_ALARM_W",
      "control": [
        {
          "ctrlKey": "basicCtrl",
          "command": "Set",
          "dataKey": "airState.operation",
          "dataValue": "0"
        }
      ]
    },
    "MODE020": {
      "_comment": "귀가모드",
      "actionName": "@AC_OPER_ALARM_W",
      "control": [
        {
          "ctrlKey": "basicCtrl",
          "command": "Set",
          "dataKey": "airState.operation",
          "dataValue": "2"
        }
      ]
    },
    "MODE030": {
      "_comment": "휴가모드",
      "actionName": "@AC_OPER_ALARM_W",
      "control": [
        {
          "ctrlKey": "basicCtrl",
          "command": "Set",
          "dataKey": "airState.operation",
          "dataValue": "0"
        }
      ]
    },
    "MODE040": {
      "_comment": "취침모드",
      "actionName": "@AC_OPER_ALARM_W",
      "control": [
        {
          "ctrlKey": "reservationCtrl",
          "command": "Set",
          "dataSetList": {
            "airState.reservation.sleepTime": "60"
          }
        }
      ]
    },
    "MODE050": {
      "_comment": "쾌적모드",
      "actionName": "@AC_OPER_ALARM_W",
      "control": [
        {
          "ctrlKey": "basicCtrl",
          "command": "Set",
          "dataKey": "airState.operation",
          "dataValue": "2"
        }
      ]
    }
  },
 "Config": {
    "fota":true,
    "audibleDiagnosis":true,
    "forceShowCIC":true
 }
}
tinkerborg commented 4 years ago

Perfect, thanks. Got a couple more things to work on first, one of which is unit testing. This thread should provide all the test fixtures needed to work on support for these devices.

uqpqpu commented 4 years ago

hi thinkerborg

I have refrigerator. this model. https://www.lge.co.kr/lgekor/product/kitchen/refrigerator/productDetail.do?cateId=4120&prdId=EPRD.331414

Here is device dump.

{'appType': 'NUTS', 'modelCountryCode': 'WW', 'countryCode': 'KR', 'modelName': '2REB1GLVB1___', 'deviceType': 101, 'deviceCode': 'KI0104', 'alias': '냉장고', 'deviceId': '00000000-0000-0000-0000-000000000000', 'fwVer': '', 'imageFileName': 'home_appliances_img_fridge.png', 'ssid': '--', 'softapId': '', 'softapPass': '', 'macAddress': '--', 'networkType': '02', 'timezoneCode': 'Asia/Seoul', 'timezoneCodeAlias': 'Korea/Seoul', 'utcOffset': 9, 'utcOffsetDisplay': '+09:00', 'dstOffset': 9, 'dstOffsetDisplay': '+09:00', 'curOffset': 9, 'curOffsetDisplay': '+09:00', 'sdsGuide': '{"deviceCode":"KI01"}', 'newRegYn': 'N', 'remoteControlType': '', 'userNo': '--', 'tftYn': 'N', 'deviceState': 'E', 'snapshot': {'timestamp': 1589688367980.0, 'static': {'deviceType': '101', 'countryCode': 'KR'}, 'refState': {'expressMode': 'OFF', 'smartSavingRun': 'STOP', 'expressFridge': 'OFF', 'waterFilter': '0_MONTH', 'freshAirFilter': 'IGNORE', 'activeSaving': 'OFF', 'dualFridgeMode': 'IGNORE', 'convertibleTemp': 0.0, 'tempUnit': 'CELSIUS', 'displayLock': 'LOCK', 'sabbathMode': 'OFF', 'ecoFriendly': 'OFF', 'monStatus': 'NORMAL', 'freezerTemp': 4.0, 'smartSavingMode': 'OFF', 'fridgeTemp': 5.0, 'atLeastOneDoorOpen': 'CLOSE'}, 'mid': 529659519.0, 'meta': {'allDeviceInfoUpdate': True, 'messageId': 's8YkSzNiQtKO_NVS3TdOkQ'}, 'online': True}, 'online': True, 'platformType': 'thinq2', 'area': 226081, 'regDt': 20190808160547.0, 'blackboxYn': 'Y', 'receipeVersion': 0, 'activeSaving': 'OFF', 'smartCareV2': 'OFF', 'order': 0, 'drServiceYn': 'N', 'regDtUtc': '20190808070547', 'groupableYn': 'N', 'controllableYn': 'N', 'combinedProductYn': 'N', 'masterYn': 'Y', 'tclcount': 0}

ModelJsonDescriptor(model_json_ver='1.07', model_json_uri='https://objectstore.lgthinq.com/93794020-1988-4b15-bf0e-f372f83e52bf?Expires=1625899593&Signature=LugQK1boW5c-~o4xtOUoSEDboKEmp4EOKrkeTiFYTL~dx8VIBI9AeBYoOuBRsEIhSAuKTGAjoIsHrzfI-mykGCo2CGlUjFnHlGQSA0KhJAdSWKZFjPLS7PFRTYc18JhQnzitFvZhsEHk7JEgD6~FKpzlon~AWdarJeJUEUprLjX4lfpYd50ja6OrJ68U3XyJFYAbIycAREGHkUzGVmRrdOxwYWVTURT0QIFXoCEaNf3dxbxMpqbzKQO9vj6-zBmTCIevd5JbI31kxRRTGKJj5x~APSIPVf4QbSl5OhMaI3j0ovnJusThNLRvHVEw2Eyf8nZLMsWaM4nzAvSwQA2~Ag__&Key-Pair-Id=APKAI74R6YENXPGRIWLQ', timestamp=1562825504000)

model protocol is missing. I commented the model_protocol in DeviceDescriptor schema then executed, it worked properly. Mqtt monitoring is also working.

tinkerborg commented 4 years ago

Thanks for the refrigerator info @uqpqpu - will let you know if I need any more info.

I didn't have much time to work on this project last week, but am working on it again this week. Working on device models next, stay tuned.

slapdashengineering commented 4 years ago

Device: POT_056905_WW (Air Conditioner)

{'appType': 'NUTS', 'modelCountryCode': 'WW', 'countryCode': 'US', 'modelName': 'POT_056905_WW', 'deviceType': 401, 'deviceCode': 'AI01', 'alias': 'Air Conditioner', 'deviceId': '00000000-0000-0000-0000-000000000000', 'fwVer': '', 'imageFileName': 'ac_home_portable_airconditioner_img.png', 'ssid': 'REDACTED', 'softapId': '', 'softapPass': '', 'macAddress': '44:cb:8b:27:ed:8e', 'networkType': '02', 'timezoneCode': 'America/Los_Angeles', 'timezoneCodeAlias': 'USA/Los_Angeles', 'utcOffset': -8, 'utcOffsetDisplay': '-08:00', 'dstOffset': -7, 'dstOffsetDisplay': '-07:00', 'curOffset': -7, 'curOffsetDisplay': '-07:00', 'sdsGuide': '{"deviceCode":"AI01"}', 'newRegYn': 'N', 'remoteControlType': '', 'userNo': 'US2005190406609', 'tftYn': 'N', 'deviceState': 'E', 'snapshot': {'airState.windStrength': 2.0, 'static': {'deviceType': '401', 'countryCode': 'US'}, 'airState.tempState.current': 24.5, 'airState.reservation.sleepTime': 0.0, 'airState.filterMngStates.maxTime': 250.0, 'airState.reservation.targetTimeToStart': 0.0, 'airState.operation': 0.0, 'airState.opMode': 2.0, 'airState.quality.sensorMon': 0.0, 'airState.filterMngStates.useTime': 250.0, 'meta': {'allDeviceInfoUpdate': False, 'messageId': 'T2o18zUxSUGiUKDe3SPjQg'}, 'airState.energy.accumulatedTime': 0.0, 'online': True, 'timestamp': 1589938052862.0, 'airState.energy.accumulated': 0.0, 'airState.reservation.targetTimeToStop': 0.0, 'airState.tempState.target': 18.5, 'airState.diagCode': 0.0, 'airState.wDir.vStep': 100.0, 'airState.energy.onCurrent': 50.0}, 'online': True, 'platformType': 'thinq2', 'area': 334505, 'regDt': 20200519142128.0, 'blackboxYn': 'Y', 'modelProtocol': 'STANDARD', 'receipeVersion': 0, 'activeSaving': 'OFF', 'smartCareV2': 'OFF', 'order': 0, 'drServiceYn': 'N', 'regDtUtc': '20200519212128', 'groupableYn': 'Y', 'controllableYn': 'Y', 'combinedProductYn': 'N', 'masterYn': 'Y', 'tclcount': 0}

{ "Info": { "productType": "AC", "country": "KR", "modelType": "POT", "model": "Full ModelJson", "modelName": "Full Model", "networkType": "WIFI", "version": "10.5", "productCode": "AI01" }, "Module": { "WPM": { "GAM_CEN01_Main" : "205", "GAM_ENM01_Moment" : "205", "GAM_ENM02_Weekly" : "205", "GAM_ENM03_Monthly" : "205", "GAM_FIL01_Main" : "205", "GAM_FIL02_Date" : "205", "GAM_FOT01_Main" : "205", "GAM_SCH01_Main" : "205", "GAM_SCH02_AddEdit" : "205", "GAM_SCH03_Delete" : "205", "GAM_SET01_Main" : "205", "GAM_SET02_PushList" : "205", "GAM_SET04_EnergySet" : "005", "GAM_SET05_EnergyFee" : "203", "GAM_SET11_TempUnit" : "205", "GAM_WMG01_Main" : "205" }, "Menu": [ ] }, "Value": { "support.airState.opMode": { "data_type": "enum", "value_mapping": { "0": "@NON", "1": "@AC_MAIN_OPERATION_MODE_COOL_W", "2": "@AC_MAIN_OPERATION_MODE_DRY_W", "3": "@AC_MAIN_OPERATION_MODE_FAN_W" } }, "support.airState.windStrength": { "data_type": "enum", "value_mapping": { "0": "@NON", "3": "@AC_MAIN_WIND_STRENGTH_LOW_W", "5": "@AC_MAIN_WIND_STRENGTH_MID_W", "7": "@AC_MAIN_WIND_STRENGTH_HIGH_W" } }, "support.airState.wDir": { "data_type": "enum", "value_mapping": { "0": "@AC_MAIN_WIND_DIRECTION_FIX_W" } }, "support.vaneNum": { "data_type": "enum", "value_mapping": { "0": 0 } }, "support.airState.wMode": { "data_type": "enum", "value_mapping": { "0": "@OFF" } }, "support.pacMode": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.racMode": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.reserve": { "data_type": "enum", "value_mapping": { "0": "@NON", "1": "@SLEEP_TIMER", "2": "@EASY_TIMER", "3": "@ONOFF_TIMER", "6": "@WEEKLY_SCHEDULE" } }, "support.light": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.airState.tempState.unit": { "data_type": "enum", "value_mapping": { "0": "@NON", "1": "@C", "2": "@F" } }, "support.tempCtrl": { "data_type": "enum", "value_mapping": { "0": "@1_0UNIT_CONTROL", "1": "@0_5UNIT_CONTROL" } }, "support.micom": { "data_type": "enum", "value_mapping": { "9": "@9", "13": "@13", "15": "@15", "17": "@17", "21": "@21" } }, "support.airState.groupType": { "data_type": "enum", "value_mapping": { "0": 0, "1": 1, "5": 16 } }, "support.accumMode": { "data_type": "enum", "value_mapping": { "0": "@NOT_SUPPORT", "1": "@ACCUMULATE_INDOOR" } }, "support.airState.miscFuncState.extraOp": { "data_type": "enum", "value_mapping": { "0": "@EMERGENCY_OPER" } }, "support.racSubMode": { "data_type": "enum", "value_mapping": { "0": "@NON", "5": "@AC_MAIN_WIND_DIRECTION_SWING_UP_DOWN_W" } }, "support.airState.ductZone.type": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.airState.ductZone.control": { "data_type": "enum", "value_mapping": { "0": 0 } }, "support.mFilter": { "data_type": "enum", "value_mapping": { "0": "@NON", "1": "@SUPPORT" } }, "support.vision": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.airPolution": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.aroma": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.qVoice": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.qVoiceOption": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.standByPwr": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.airState.notification.detailList": { "data_type": "enum", "value_mapping": { "0": "@NON", "1": "@AC_SETTING_PUSH_FULL_WATER_ALARM_W" } }, "support.airState.filterMngState.desorption": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.smartFunc": { "data_type": "enum", "value_mapping": { "0": "@NON", "1": "@wifiDiagnosis", "2": "@Fota", "3": "@audibleDiagnosis" } }, "support.coolLowLimit": { "data_type": "enum", "value_mapping": { "0": 0, "16": 16 } }, "support.coolHighLimit": { "data_type": "enum", "value_mapping": { "0": 0, "30": 30 } }, "support.heatLowLimit": { "data_type": "enum", "value_mapping": { "0": 0, "16": 16 } }, "support.heatHighLimit": { "data_type": "enum", "value_mapping": { "0": 0, "30": 30 } }, "support.acoLowLimit": { "data_type": "enum", "value_mapping": { "0": 0 } }, "support.acoHighLimit": { "data_type": "enum", "value_mapping": { "0": 0 } }, "support.humidity.control": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.airState.circulate.strength": { "data_type": "enum", "value_mapping": { "0": "@NON" } }, "support.airState.circulate.rotate": { "data_type": "enum", "value_mapping": { "0": "@NONSUPPORT" } }, "airState.operation": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AC_MAIN_OPERATION_OFF_W", "1": "@AC_MAIN_OPERATION_ON_W", "2": "@AC_MAIN_OPERATION_RIGHT_ON_W", "256": "@AC_MAIN_OPERATION_LEFT_ON_W", "257": "@AC_MAIN_OPERATION_ALL_ON_W" } }, "airState.opMode": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AC_MAIN_OPERATION_MODE_COOL_W", "1": "@AC_MAIN_OPERATION_MODE_DRY_W", "2": "@AC_MAIN_OPERATION_MODE_FAN_W", "3": "@AC_MAIN_OPERATION_MODE_AI_W", "4": "@AC_MAIN_OPERATION_MODE_HEAT_W", "5": "@AC_MAIN_OPERATION_MODE_AIRCLEAN_W", "6": "@AC_MAIN_OPERATION_MODE_ACO_W", "7": "@AC_MAIN_OPERATION_MODE_AROMA_W", "8": "@AC_MAIN_OPERATION_MODE_ENERGY_SAVER_W", "9": "@AC_MAIN_OPERATION_MODE_CLEANING_W", "10": "@AC_MAIN_OPERATION_MODE_SLEEPING_W", "11": "@AC_MAIN_OPERATION_MODE_SILENT_W", "12": "@AC_MAIN_OPERATION_MODE_HUMIDITY_W", "13": "@AC_MAIN_OPERATION_MODE_CIRCULATOR_CLEAN_W", "14": "@AC_MAIN_OPERATION_MODE_BABY_CARE_W", "15": "@AC_MAIN_OPERATION_MODE_DUAL_CLEAN_W", "16": "@AC_MAIN_OPERATION_MODE_AUTO_W", "17": "@AC_MAIN_OPERATION_MODE_SMART_DEHUM_W", "18": "@AC_MAIN_OPERATION_MODE_FAST_DEHUM_W", "19": "@AC_MAIN_OPERATION_MODE_CILENT_DEHUM_W", "20": "@AC_MAIN_OPERATION_MODE_CONCENTRATION_DRY_W", "21": "@AC_MAIN_OPERATION_MODE_CLOTHING_DRY_W", "22": "@AC_MAIN_OPERATION_MODE_IONIZER_W", "23": "@AC_MAIN_OPERATION_MODE_ANTIBUGS_W" } }, "airState.windStrength": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AC_MAIN_WIND_STRENGTH_SLOW_W", "1": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_W", "2": "@AC_MAIN_WIND_STRENGTH_LOW_W", "3": "@AC_MAIN_WIND_STRENGTH_LOW_MID_W", "4": "@AC_MAIN_WIND_STRENGTH_MID_W", "5": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_W", "6": "@AC_MAIN_WIND_STRENGTH_HIGH_W", "7": "@AC_MAIN_WIND_STRENGTH_POWER_W", "8": "@AC_MAIN_WIND_STRENGTH_AUTO_W", "9": "@AC_MAIN_WIND_STRENGTH_LONGPOWER_W", "10": "@AC_MAIN_WIND_STRENGTH_SHOWER_W", "11": "@AC_MAIN_WIND_STRENGTH_FOREST_W", "12": "@AC_MAIN_WIND_STRENGTH_TURBO_W", "13": "@AP_MAIN_WIND_STRENGTH_FASTWIND_W", "256": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "257": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "258": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "259": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "260": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "261": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "262": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "263": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "264": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "511": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_LEFT_W", "512": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "513": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "514": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "515": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "516": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "517": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "518": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "519": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "520": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "767": "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W", "768": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "769": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "770": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "771": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "772": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "773": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "774": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "775": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "776": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "1023": "@AC_MAIN_WIND_STRENGTH_LOW_MID_LEFT_W", "1024": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "1025": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "1026": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "1027": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "1028": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "1029": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "1030": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "1031": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "1032": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "1279": "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W", "1280": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "1281": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "1282": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "1283": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "1284": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "1285": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "1286": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "1287": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "1288": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "1535": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_LEFT_W", "1536": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "1537": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "1538": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "1539": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "1540": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "1541": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "1542": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "1543": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "1544": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "1791": "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W", "1792": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "1793": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "1794": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "1795": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "1796": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "1797": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "1798": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "1799": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "1800": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "2047": "@AC_MAIN_WIND_STRENGTH_POWER_LEFT_W", "2048": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "2049": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "2050": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "2051": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "2052": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "2053": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "2054": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "2055": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "2056": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W|AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W", "2303": "@AC_MAIN_WIND_STRENGTH_AUTO_LEFT_W", "2313": "@AC_MAIN_WIND_STRENGTH_LONGPOWER_LEFT_W|AC_MAIN_WIND_STRENGTH_LONGPOWER_RIGHT_W", "2570": "@AC_MAIN_WIND_STRENGTH_SHOWER_LEFT_W|AC_MAIN_WIND_STRENGTH_SHOWER_RIGHT_W", "2827": "@AC_MAIN_WIND_STRENGTH_FOREST_LEFT_W|AC_MAIN_WIND_STRENGTH_FOREST_RIGHT_W", "3084": "@AC_MAIN_WIND_STRENGTH_TURBO_LEFT_W|AC_MAIN_WIND_STRENGTH_TURBO_RIGHT_W", "65280": "@AC_MAIN_WIND_STRENGTH_SLOW_RIGHT_W", "65281": "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_RIGHT_W", "65282": "@AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W", "65283": "@AC_MAIN_WIND_STRENGTH_LOW_MID_RIGHT_W", "65284": "@AC_MAIN_WIND_STRENGTH_MID_RIGHT_W", "65285": "@AC_MAIN_WIND_STRENGTH_MID_HIGH_RIGHT_W", "65286": "@AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W", "65287": "@AC_MAIN_WIND_STRENGTH_POWER_RIGHT_W", "65288": "@AC_MAIN_WIND_STRENGTH_AUTO_RIGHT_W" } }, "airState.ctrlFrom": { "data_type": "enum", "default": "1", "value_mapping": { "1": 1, "2": 2, "3": 3, "4": 4, "5": 5 } }, "airState.wDir.up": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON", "2": "@AC_MAIN_WIND_DIRECTION_UPFOCUS_W" } }, "airState.wDir.down": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON", "2": "@AC_MAIN_WIND_DIRECTION_DOWNFOCUS_W" } }, "airState.wDir.left": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON", "2": "@AC_MAIN_WIND_DIRECTION_LEFTFOCUS_W" } }, "airState.wDir.right": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON", "2": "@AC_MAIN_WIND_DIRECTION_RIGHTFOCUS_W" } }, "airState.wDir.leftRight": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON", "2": "@RIGHT_ON", "256": "@LEFT_ON", "257": "@ALL_ON" } }, "airState.wDir.auto": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1, "2": 2, "256": 256, "257": 257 } }, "airState.wDir.upDown": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wDir.swirl": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wDir.side": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wDir.vStep": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@1", "2": "@2", "3": "@3", "4": "@4", "5": "@5", "6": "@6", "16": 16, "32": 32, "48": 48, "64": 64, "80": 80, "96": 96, "100": "@100", "101": 101, "102": 102, "103": 103, "104": 104, "105": 105, "256": 256, "512": 512, "768": 768, "1024": 1024, "1080": 1080, "1536": 1536, "4096": 4096, "8192": 8192, "12288": 12288, "16384": 16384, "20480": 20480, "24576": 24576, "65536": 65536 } }, "airState.wDir.hStep": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@1", "2": "@2", "3": "@3", "4": "@4", "5": "@5", "6": 6, "13": "@13", "16": 16, "32": 32, "35": "@35", "48": 48, "64": 64, "80": 80, "96": 96, "100": "@100", "101": 101, "102": 102, "103": 103, "104": 104, "256": 256, "512": 512, "768": 768, "1024": 1024, "1080": 1080, "1536": 1536, "4096": 4096, "8192": 8192, "12288": 12288, "16384": 16384, "20480": 20480, "24576": 24576, "65536": 65536 } }, "airState.wMode.flowForest": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.flowLongPower": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.smartCare": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.flowShower": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.turbo": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.iceValley": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.airClean": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.lowHeating": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.wMode.humanCare": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@AC_MAIN_WIND_MODE_HUMAN_DIRECT_W", "2": "@AC_MAIN_WIND_MODE_HUMAN_INDIRECT_W" } }, "airState.wMode.jet": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@COOL_JET", "2": "@HEAT_JET", "3": "@DRY_JET_W", "4": "@HIMALAYAS_COOL" } }, "airState.tempState.target": { "data_type": "range", "default": 18, "value_validation": { "min": 18, "max": 30 } }, "TempCelToFah": { "_comment": "## 섭씨 화씨 변환 테이블", "data_type": "enum", "default": "60", "value_mapping": { "10": 50, "11": 52, "12": 54, "13": 56, "14": 58, "15": 59, "16": 60, "17": 62, "18": 64, "19": 66, "20": 68, "21": 70, "22": 72, "23": 74, "24": 76, "25": 77, "26": 78, "27": 80, "28": 82, "29": 84, "30": 86, "31": 88, "32": 90, "33": 92, "34": 94, "35": 95, "36": 96, "37": 98, "38": 100, "39": 102, "40": 104, "10.5": 51, "11.5": 53, "12.5": 55, "13.5": 57, "14.5": 58, "15.5": 59, "16.5": 61, "17.5": 63, "18.5": 65, "19.5": 67, "20.5": 69, "21.5": 71, "22.5": 73, "23.5": 75, "24.5": 76, "25.5": 77, "26.5": 79, "27.5": 81, "28.5": 83, "29.5": 85, "30.5": 87, "31.5": 89, "32.5": 91, "33.5": 93, "34.5": 94, "35.5": 95, "36.5": 97, "37.5": 99, "38.5": 101, "39.5": 103 } }, "TempFahToCel": { "_comment": "## 화씨 섭씨 변환 테이블", "data_type": "enum", "default": "60", "value_mapping": { "50": 10, "51": 10.5, "52": 11, "53": 11.5, "54": 12, "55": 12.5, "56": 13, "57": 13.5, "58": 14, "59": 15, "60": 16, "61": 16.5, "62": 17, "63": 17.5, "64": 18, "65": 18.5, "66": 19, "67": 19.5, "68": 20, "69": 20.5, "70": 21, "71": 21.5, "72": 22, "73": 22.5, "74": 23, "75": 23.5, "76": 24, "77": 25, "78": 26, "79": 26.5, "80": 27, "81": 27.5, "82": 28, "83": 28.5, "84": 29, "85": 29.5, "86": 30, "87": 30.5, "88": 31, "89": 31.5, "90": 32, "91": 32.5, "92": 33, "93": 33.5, "94": 34, "95": 35, "96": 36, "97": 36.5, "98": 37, "99": 37.5, "100": 38, "101": 38.5, "102": 39, "103": 39.5, "104": 40 } }, "modeEx": { "_comment": "## 모드 별 온도, 풍량 예외처리_창문형, [설정온도, 풍량]", "value_mapping": { "@AC_MAIN_OPERATION_MODE_COOL_W": [ true, true ], "@AC_MAIN_OPERATION_MODE_DRY_W": [ true, false ], "@AC_MAIN_OPERATION_MODE_FAN_W": [ false, true ], "@AC_MAIN_OPERATION_MODE_AI_W": [ true, false ], "@AC_MAIN_OPERATION_MODE_HEAT_W": [ true, true ], "@AC_MAIN_OPERATION_MODE_AIRCLEAN_W": [ false, true ], "@AC_MAIN_OPERATION_MODE_ACO_W": [ true, true ], "@AC_MAIN_OPERATION_MODE_ENERGY_SAVER_W": [ true, true ] } }, "airState.tempState.current": { "data_type": "range", "default": 11, "value_validation": { "min": 1, "max": 39 } }, "airState.tempState.unit": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@F", "1": "@C", "2": "@K" } }, "airState.tempState.step": { "data_type": "range", "default": 1, "value_validation": { "min": 1, "max": 10 } }, "airState.tempState.limitMax": { "data_type": "range", "default": 16, "value_validation": { "min": 16, "max": 30 } }, "airState.tempState.limitMin": { "data_type": "range", "default": 16, "value_validation": { "min": 16, "max": 30 } }, "airState.reservation.sleepTime": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 420 } }, "airState.reservation.targetTimeToStart": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1440 } }, "airState.reservation.targetTimeToStop": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1440 } }, "airState.reservation.absoluteStartTime": { "type": "string", "value_validation": { "min": 0, "max": 2400 } }, "airState.reservation.absoluteStopTime": { "type": "string", "value_validation": { "min": 0, "max": 2400 } }, "airState.powerSave.basic": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.powerSave.hum": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.voice.recog": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON", "2": "@INTERACTIVE" } }, "airState.voice.volume": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@MIN", "2": "@MID", "3": "@MAX" } }, "airState.voice.sensitivity": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@MIN", "1": "@MID", "2": "@MAX" } }, "airState.voice.setting": { "data_type": "range", "default": 1, "value_validation": { "min": 1, "max": 9 } }, "airState.voice.spkVolume": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 10 } }, "airState.quality.PM1": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 999 } }, "airState.quality.PM2": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 999 } }, "airState.quality.PM10": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 999 } }, "airState.quality.odor": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1000 } }, "airState.quality.overall": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1000 } }, "airState.quality.sensorMon": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.quality.airMon": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AP_SETTING_SENSORMON_OPERATIONING_W", "1": "@AP_SETTING_SENSORMON_ALWAYS_W" } }, "airState.quality.CO2": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 4095 } }, "airState.quality.CO2Level": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@", "1": "@", "2": "@", "3": "@", "4": "@" } }, "airState.diagCode": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 300 } }, "airState.groupType": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@PAC", "1": "@RAC", "2": "@CAC", "3": "@AWHP", "4": "@VENT", "5": "@DUCT", "6": "@CVT", "7": "@DX_VENT", "8": "@POT", "9": "@WIN", "10": "@CST", "11": "@CONSOL", "12": "@AIR", "13": "@HUM" } }, "airState.prodType": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1, "2": 2 } }, "airState.rac.addFunc": { "data_type": "enum", "default": "NS", "value_mapping": { "0": "@AIRCLEAN", "1": "@ENERGYSAVING", "2": "@AUTODRY", "3": "@DANGGYMOGY", "4": "@CIRCULATOR_OPERATION", "5": "@ANION", "6": "@LEARNNING", "7": "@NODRY", "8": "@HEATER", "NS": "@NON" } }, "airState.rac.operation": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.filterMngState.useTime": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.remainTime": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.maxTime": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.changeDate": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.type": { "data_type": "enum", "default": "1", "value_mapping": { "1": 1, "2": 2 } }, "airState.filterMngState.useTimeTop": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.maxTimeTop": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.useTimeMiddle": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.maxTimMiddle": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.useTimeBottom": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.maxTimeBottom": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.useTimeDeodor": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.maxTimeDeodor": { "data_type": "range", "default": 0, "value_validation": { "min": 0 } }, "airState.filterMngState.desorption": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1, "2": 2, "3": 3, "4": 4 } }, "airState.lightingState.displayControl": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.lightingState.mood": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.lightingState.signal": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.lightingState.magicColor": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@COLLWHITE", "2": "@WARMWHITE01", "3": "@WARMWHITE02" } }, "airState.lightingState.magicBrightness": { "data_type": "enum", "default": "0", "value_mapping": { "1": "@DARK", "2": "@MID", "3": "@BRIGHT" } }, "airState.ductZone.control": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7 } }, "airState.ductZone.type": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1, "2": 2 } }, "airState.aroma.color": { "data_type": "enum", "default": "1", "value_mapping": { "1": "@LAVENDAR", "2": "@ROSEMARY", "3": "@HEALING" } }, "airState.aroma.sound": { "data_type": "enum", "default": "1", "value_mapping": { "1": "@LAVENDAR", "2": "@ROSEMARY", "3": "@HEALING" } }, "airState.aroma.state": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AC_MAIN_AROMA_OFF_W", "1": "@AC_MAIN_AROMA_ON_W" } }, "airState.energy.totlaCurrent": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 40 } }, "airState.energy.inCurrent": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 40 } }, "airState.energy.outCurrent": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 40 } }, "airState.energy.accumulated": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 40 } }, "airState.energy.accumulatedTime": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1440 } }, "airState.energy.desired": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 280 } }, "airState.energy.desiredDay": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 40 } }, "airState.energy.desiredWeek": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 280 } }, "airState.energy.desiredMonth": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1250 } }, "airState.homeCare.onOff": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.homeCare.delay": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 10800 } }, "airState.homeCare.interval": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 900 } }, "airState.homeCare.imageNum": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 10 } }, "airState.circulate.strength": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOWST_LOW_W", "1": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOWST_W", "2": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOW_W", "3": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOW_MID_W", "4": "@AP_MAIN_MID_CIRCULATORSTRENGTH_MID_W", "5": "@AP_MAIN_MID_CIRCULATORSTRENGTH_MID_HIGH_W", "6": "@AP_MAIN_MID_CIRCULATORSTRENGTH_HIGH_W", "7": "@AP_MAIN_MID_CIRCULATORSTRENGTH_POWER_W", "8": "@AP_MAIN_MID_CIRCULATORSTRENGTH_AUTO_W", "9": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LINK_W" } }, "airState.circulate.rotate": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.antiBugs": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.airRemoval": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.airFast": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.airUVDisinfection": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.watertankLight": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.cleanDry": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.humidification": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1 } }, "airState.miscFuncState.robotCleanManual": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.miscFuncState.robotCleanAuto": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.miscFuncState.autoDry": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": "@ON" } }, "airState.miscFuncState.extraOp": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@OFF", "1": 1, "2": "@AC_MAIN_LOCK_VALUE_ALL_W", "4": "@AC_MAIN_LOCK_VALUE_TEMP_W", "6": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_W", "8": "@AC_MAIN_LOCK_VALUE_FAN_W", "10": "@AC_MAIN_LOCK_VALUE_ALL_FAN_W", "12": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_W", "14": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_W", "16": "@AC_MAIN_LOCK_VALUE_MODE_W", "18": "@AC_MAIN_LOCK_VALUE_ALL_MODE_W", "20": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_W", "22": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_W", "24": "@AC_MAIN_LOCK_VALUE_FAN_MODE_W", "26": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_W", "28": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_W", "30": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_W", "32": 32, "64": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_W", "66": "@AC_MAIN_LOCK_VALUE_ALL_GROUPCONTROL_W", "68": "@AC_MAIN_LOCK_VALUE_TEMP_GROUPCONTROL_W", "70": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_GROUPCONTROL_W", "72": "@AC_MAIN_LOCK_VALUE_FAN_GROUPCONTROL_W", "74": "@AC_MAIN_LOCK_VALUE_ALL_FAN_GROUPCONTROL_W", "76": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_GROUPCONTROL_W", "78": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_GROUPCONTROL_W", "80": "@AC_MAIN_LOCK_VALUE_MODE_GROUPCONTROL_W", "82": "@AC_MAIN_LOCK_VALUE_ALL_MODE_GROUPCONTROL_W", "84": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_GROUPCONTROL_W", "86": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_GROUPCONTROL_W", "88": "@AC_MAIN_LOCK_VALUE_FAN_MODE_GROUPCONTROL_W", "90": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_GROUPCONTROL_W", "92": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_GROUPCONTROL_W", "94": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_GROUPCONTROL_W", "128": "@AC_MAIN_LOCK_VALUE_DRYCONTACT_W", "130": "@AC_MAIN_LOCK_VALUE_ALL_DRYCONTACT_W", "132": "@AC_MAIN_LOCK_VALUE_TEMP_DRYCONTACT_W", "134": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_DRYCONTACT_W", "136": "@AC_MAIN_LOCK_VALUE_FAN_DRYCONTACT_W", "138": "@AC_MAIN_LOCK_VALUE_ALL_FAN_DRYCONTACT_W", "140": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_DRYCONTACT_W", "142": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_DRYCONTACT_W", "144": "@AC_MAIN_LOCK_VALUE_MODE_DRYCONTACT_W", "146": "@AC_MAIN_LOCK_VALUE_ALL_MODE_DRYCONTACT_W", "148": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_DRYCONTACT_W", "150": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_DRYCONTACT_W", "152": "@AC_MAIN_LOCK_VALUE_FAN_MODE_DRYCONTACT_W", "154": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_DRYCONTACT_W", "156": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_DRYCONTACT_W", "158": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_DRYCONTACT_W", "192": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_DRYCONTACT_W", "194": "@AC_MAIN_LOCK_VALUE_ALL_GROUPCONTROL_DRYCONTACT_W", "196": "@AC_MAIN_LOCK_VALUE_TEMP_GROUPCONTROL_DRYCONTACT_W", "198": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_GROUPCONTROL_DRYCONTACT_W", "200": "@AC_MAIN_LOCK_VALUE_FAN_GROUPCONTROL_DRYCONTACT_W", "202": "@AC_MAIN_LOCK_VALUE_ALL_FAN_GROUPCONTROL_DRYCONTACT_W", "204": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_GROUPCONTROL_DRYCONTACT_W", "206": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_GROUPCONTROL_DRYCONTACT_W", "208": "@AC_MAIN_LOCK_VALUE_MODE_GROUPCONTROL_DRYCONTACT_W", "210": "@AC_MAIN_LOCK_VALUE_ALL_MODE_GROUPCONTROL_DRYCONTACT_W", "212": "@AC_MAIN_LOCK_VALUE_TEMP_MODE_GROUPCONTROL_DRYCONTACT_W", "214": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_MODE_GROUPCONTROL_DRYCONTACT_W", "216": "@AC_MAIN_LOCK_VALUE_FAN_MODE_GROUPCONTROL_DRYCONTACT_W", "218": "@AC_MAIN_LOCK_VALUE_ALL_FAN_MODE_GROUPCONTROL_DRYCONTACT_W", "220": "@AC_MAIN_LOCK_VALUE_TEMP_FAN_MODE_GROUPCONTROL_DRYCONTACT_W", "222": "@AC_MAIN_LOCK_VALUE_ALL_TEMP_FAN_MODE_GROUPCONTROL_DRYCONTACT_W", "256": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "258": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "260": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "262": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "264": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "266": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "268": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "270": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "272": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "274": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "276": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "278": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "280": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "282": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "284": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "286": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "320": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "322": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "324": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "326": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "328": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "330": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "332": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "334": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "336": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "338": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "340": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "342": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "344": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "346": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "348": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "350": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "384": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "386": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "388": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "390": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "392": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "394": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "396": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "398": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "400": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "402": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "404": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "406": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "408": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "410": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "412": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "414": "@AC_MAIN_LOCK_VALUE_CENTRALCONTROL_W", "448": "@AC_MAIN_LOCK_VALUE_GROUPCONTROL_CENTRALCONTROL_W", "512": 512 } }, "airState.miscFuncState.dRED": { "data_type": "enum", "default": "0", "value_mapping": { "0": 0, "1": 1, "2": 2, "3": 3 } }, "airState.miscFuncState.safeOpRemainTime": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 60 } }, "airState.outside.quality.PM2": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 1000 } }, "airState.outside.humidity.current": { "data_type": "range", "default": 35, "value_validation": { "min": 35, "max": 90 } }, "airState.outside.temperature.current": { "data_type": "range", "default": -40, "value_validation": { "min": -40, "max": 60 } }, "airState.notification.list": { "data_type": "enum", "default": "1", "value_mapping": { "1": "@AP_SETTING_ALARM_MANSU_W", "2": "@AP_SETTING_ALARM_LOWHEAT_W", "3": "@AP_SETTING_ALARM_DUST_W", "4": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "5": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "6": "@AP_SETTING_ALARM_WATERTANK_LACK_W", "7": "@AP_SETTING_ALARM_HOMECARE_W", "8": 8, "256": 256 } }, "airState.notification.detailList": { "data_type": "enum", "default": "1", "value_mapping": { "1": "@AC_SETTING_PUSH_FULL_WATER_ALARM_W", "2": "@AP_SETTING_ALARM_LOWHEAT_W", "3": "@AP_SETTING_ALARM_DUST_W", "4": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "5": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "6": "@AP_SETTING_ALARM_WATERTANK_LACK_W", "7": "@AP_SETTING_ALARM_HOMECARE_W", "8": 8, "9": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "10": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "11": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "12": "@AP_SETTING_ALARM_FILTER_CHANGE_W", "13": "@AP_SETTING_ALARM_DUST_W", "14": "@AP_SETTING_ALARM_D_PLUS_TOP_FILTER_W", "15": "@AP_SETTING_ALARM_D_PLUS_BOTTOM_FILTER_W", "16": "@AP_SETTING_ALARM_FILTER_DEODORIZATION_W", "17": "@AP_SETTING_ALARM_RECOMMEND_W", "18": 18 } }, "airState.vision.numData": { "data_type": "range", "default": 1, "value_validation": { "min": 1, "max": 3 } }, "airState.vision.sensing.angle": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 105 } }, "airState.vision.sensing.ds": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 2 } }, "airState.humidity.current": { "data_type": "range", "default": 35, "value_validation": { "min": 35, "max": 90 } }, "airState.humidity.desired": { "data_type": "range", "default": 20, "value_validation": { "min": 20, "max": 90 } }, "airState.mon.timeout": { "data_type": "range", "default": 0, "value_validation": { "min": 0, "max": 3600 } }, "airState.smartCare.status": { "data_type": "enum", "default": "0", "value_mapping": { "0": "@AC_SMARTCARE_STATUS_OFF_W", "1": "@AC_SMARTCARE_STATUS_SPEED_COOL_W", "2": "@AC_SMARTCARE_STATUS_PLEASANT_W", "3": "@AC_SMARTCARE_STATUS_SAVING_W", "4": "@AC_SMARTCARE_STATUS_CUSTOM_TEMPERATURE_W", "5": "@AC_SMARTCARE_STATUS_DEHUMIDIFICATION_W" } } }, "ControlDevice": [ { "ctrlKey": "basicCtrl", "comment": "원격제어-기본제어, 운전모드, 바람세기, 희망온도설정, 공기청정 On/Off, 공기제균 On/Off", "command": "Operation|Get|Set", "dataKey": "airState.operation|airState.opMode|airState.windStrength|airState.tempState.target|airState.miscFuncState.airFast|airState.miscFuncState.airRemoval", "dataValue": "{%airState.operation%}|{%airState.opMode%}|{%airState.windStrength%}|{%airState.tempState.target%}|{%airState.miscFuncState.airFast%}|{%airState.miscFuncState.airRemoval%}" }, { "ctrlKey": "wModeCtrl", "comment": "원격제어-특수바람", "command": "Get|Set", "dataSetList": { "airState.wMode.flowForest": "{%airState.wMode.flowForest%}", "airState.wMode.flowLongPower": "{%airState.wMode.flowLongPower%}", "airState.wMode.flowShower": "{%airState.wMode.flowShower%}", "airState.wMode.iceValley": "{%airState.wMode.iceValley%}", "airState.wMode.turbo": "{%airState.wMode.turbo%}", "airState.wMode.jet": "{%airState.wMode.jet%}", "airState.wMode.humanCare": "{%airState.wMode.humanCare%}", "airState.wMode.lowHeating": "{%airState.wMode.lowHeating%}", "airState.wMode.airClean": "{%airState.wMode.airClean%}", "airState.wMode.smartCare": "{%airState.wMode.smartCare%}" }, "dataGetList": [ "airState.wMode.flowForest", "airState.wMode.flowLongPower", "airState.wMode.flowShower", "airState.wMode.iceValley", "airState.wMode.turbo", "airState.wMode.jet", "airState.wMode.humanCare", "airState.wMode.lowHeating", "airState.wMode.airClean", "airState.wMode.smartCare" ] }, { "ctrlKey": "wDirCtrl", "comment": "원격제어-바람방향", "command": "Get|Set", "dataKey": "airState.wDir.auto|airState.wDir.up|airState.wDir.down|airState.wDir.left|airState.wDir.right|airState.wDir.side|airState.wDir.upDown|airState.wDir.leftRight|airState.wDir.swirl|airState.wDir.vStep|airState.wDir.hStep", "dataValue": "{%airState.wDir.auto%}|{%airState.wDir.up%}|{%airState.wDir.down%}|{%airState.wDir.left%}|{%airState.wDir.right%}|{%airState.wDir.side%}|{%airState.wDir.upDown%}|{%airState.wDir.leftRight%}|{%airState.wDir.swirl%}|{%airState.wDir.vStep%}|{%airState.wDir.hStep%}" }, { "ctrlKey": "favoriteCtrl", "comment": "원격제어(Favorite),에어캡슐-나만의 바람", "command": "Get|Set", "dataSetList": { "airState.operation": "{%airState.operation%}", "airState.opMode": "{%airState.opMode%}", "airState.windStrength": "{%airState.windStrength%}", "airState.tempState.target": "{%airState.tempState.target%}", "airState.wMode.airClean": "{%airState.wMode.airClean%}", "airState.wDir.vStep": "{%airState.wDir.vStep%}", "airState.wDir.hStep": "{%airState.wDir.hStep%}", "airState.wMode.jet": "{%airState.wMode.jet%}", "airState.powerSave.basic": "{%airState.powerSave.basic%}", "airState.wMode.iceValley": "{%airState.wMode.iceValley%}" }, "dataGetList": [ "airState.operation", "airState.opMode", "airState.windStrength", "airState.tempState.target", "airState.wMode.airClean", "airState.wDir.vStep", "airState.wDir.hStep", "airState.wMode.jet", "airState.powerSave.basic", "airState.wMode.iceValley" ] }, { "ctrlKey": "reservationCtrl", "comment": "원격제어-예약", "command": "Get|Set", "dataSetList": { "airState.reservation.targetTimeToStop": "{%airState.reservation.targetTimeToStop%}", "airState.reservation.targetTimeToStart": "{%airState.reservation.targetTimeToStart%}", "airState.reservation.sleepTime": "{%airState.reservation.sleepTime%}", "airState.reservation.absoluteStopTime": "{%airState.reservation.absoluteStopTime%}", "airState.reservation.absoluteStartTime": "{%airState.reservation.absoluteStartTime%}", "airState.reservation.monOnTime": "{%airState.reservation.monOnTime%}", "airState.reservation.monOffTime": "{%airState.reservation.monOffTime%}", "airState.reservation.tueOnTime": "{%airState.reservation.tueOnTime%}", "airState.reservation.tueOffTime": "{%airState.reservation.tueOffTime%}", "airState.reservation.wedOnTime": "{%airState.reservation.wedOnTime%}", "airState.reservation.wedOffTime": "{%airState.reservation.wedOffTime%}", "airState.reservation.thuOnTime": "{%airState.reservation.thuOnTime%}", "airState.reservation.thuOffTime": "{%airState.reservation.thuOffTime%}", "airState.reservation.friOnTime": "{%airState.reservation.friOnTime%}", "airState.reservation.friOffTime": "{%airState.reservation.friOffTime%}", "airState.reservation.satOnTime": "{%airState.reservation.satOnTime%}", "airState.reservation.satOffTime": "{%airState.reservation.satOffTime%}", "airState.reservation.sunOnTime": "{%airState.reservation.sunOnTime%}", "airState.reservation.sunOffTime": "{%airState.reservation.sunOffTime%}" }, "dataGetList": [ "airState.reservation.targetTimeToStop", "airState.reservation.targetTimeToStart", "airState.reservation.sleepTime", "airState.reservation.absoluteStopTime", "airState.reservation.absoluteStartTime", "airState.reservation.monOnTime", "airState.reservation.monOffTime", "airState.reservation.tueOnTime", "airState.reservation.tueOffTime", "airState.reservation.wedOnTime", "airState.reservation.wedOffTime", "airState.reservation.thuOnTime", "airState.reservation.thuOffTime", "airState.reservation.friOnTime", "airState.reservation.friOffTime", "airState.reservation.satOnTime", "airState.reservation.satOffTime", "airState.reservation.sunOnTime", "airState.reservation.sunOffTime" ] }, { "ctrlKey": "settingInfo", "comment": "원격제어-설정", "command": "Get|Set", "dataKey": "airState.powerSave.basic|airState.miscFuncState.autoDry|airState.lightingState.magicBrightness|airState.lightingState.mood|airState.voice.spkVolume|airState.tempState.unit", "dataValue": "{%airState.powerSave.basic%}|{%airState.miscFuncState.autoDry%}|{%airState.lightingState.magicBrightness}|{%airState.lightingState.mood%}|{%airState.voice.spkVolume%}|{%airState.tempState.unit%}" }, { "ctrlKey": "remoteMon", "comment": "원격모니터링", "command": "Stop|Start" }, { "ctrlKey": "diagData", "comment": "자가진단", "command": "Get" }, { "ctrlKey": "filterMngStateCtrl", "comment": "필터매니저", "command": "Get|Set", "dataSetList": { "airState.filterMngState.useTime": "{%airState.filterMngState.useTime%}", "airState.filterMngState.remainTime": "{%airState.filterMngState.remainTime%}", "airState.filterMngState.maxTime": "{%airState.filterMngState.filterMngState.maxTime%}", "airState.filterMngState.changeDate": "{%airState.filterMngState.changeDate%}", "airState.filterMngState.type": "{%airState.filterMngState.type%}", "airState.filterMngState.useTimeTop": "{%airState.filterMngState.useTimeTop%}", "airState.filterMngState.maxTimeTop": "{%airState.filterMngState.maxTimeTop%}", "airState.filterMngState.useTimeMiddle": "{%airState.filterMngState.useTimeMiddle%}", "airState.filterMngState.maxTimMiddle": "{%airState.filterMngState.maxTimMiddle%}", "airState.filterMngState.useTimeBottom": "{%airState.filterMngState.useTimeBottom%}", "airState.filterMngState.maxTimeBottom": "{%airState.filterMngState.maxTimeBottom%}" }, "dataGetList": [ "airState.filterMngState.useTime", "airState.filterMngState.remainTime", "airState.filterMngState.maxTime", "airState.filterMngState.changeDate", "airState.filterMngState.type", "airState.filterMngState.useTimeTop", "airState.filterMngState.maxTimeTop", "airState.filterMngState.useTimeMiddle", "airState.filterMngState.maxTimMiddle", "airState.filterMngState.useTimeBottom", "airState.filterMngState.maxTimeBottom" ] }, { "ctrlKey": "energyDesiredCtrl", "comment": "에너지 관리,에너지 목표치 설정", "command": "Get|Set", "dataSetList": { "airState.energy.desiredDay": "{%airState.energy.desiredDay%}", "airState.energy.desiredWeek": "{%airState.energy.desiredWeek%}", "airState.energy.desiredMonth": "{%airState.energy.desiredMonth%}" }, "dataGetList": [ "airState.energy.desiredDay", "airState.energy.desiredWeek", "airState.energy.desiredMonth" ] }, { "ctrlKey": "qualityMngCtrl", "comment": "공기오염도 관리", "command": "Get|Set", "dataKey": "airState.quality.PM1|airState.quality.PM2|airState.quality.PM10|airState.quality.odor|airState.quality.sensorMon|airState.quality.airMon|airState.quality.overall", "dataValue": "{%airState.quality.PM1%}|{%airState.quality.PM2%}|{%airState.quality.PM10%}|{%airState.quality.odor%}|{%airState.quality.sensorMon%}|{%airState.quality.airMon%}|{%airState.quality.overall%}" }, { "ctrlKey": "homeCareCtrl", "comment": "홈케어 제어 명령", "command": "Get|Set", "dataKey": "airState.homeCare.onOff|airState.homeCare.delay|airState.homeCare.interval", "dataValue": "{%airState.homeCare.onOff%}|{%airState.homeCare.delay%}|{%airState.homeCare.interval%}" }, { "ctrlKey": "voiceSetting", "comment": "음성인식 설정", "command": "Get|Set", "dataKey": "airState.voice.recog|airState.voice.setting|airState.voice.volume|airState.voice.sensitivity", "dataValue": "{%airState.voice.recog%}|{%airState.voice.setting%}|{%airState..voice.volume%}|{%airState.voice.sensitivity%}" }, { "ctrlKey": "miscCtrl", "comment": "기타 부가기능 제어", "command": "Get|Set", "dataKey": "airState.ductZone.control|airState.aroma.state|airState.aroma.color|airState.aroma.sound", "dataValue": "{%airState.ductZone.control%}|{%airState.aroma.state%}|{%airState.aroma.color%}|{%airState.aroma.sound%}" }, { "ctrlKey": "racAddCtrl", "comment": "RAC 추가 제어", "command": "Get|Set", "dataKey": "airState.rac.addFunc", "dataValue": "{%airState.rac.addFunc%}" }, { "ctrlKey": "allEventEnable", "comment": "실시간 모니터링데이터 설정", "command": "Get|Set", "dataKey": "airState.mon.timeout", "dataValue": "{%airState.mon.timeout%}" }, { "ctrlKey": "energyStateCtrl", "comment": "에너지 데이터 조회", "command": "Get|Set", "dataKey": "airState.energy.inCurrent|airState.energy.outCurrent|airState.energy.totalCurrent", "dataValue": "{%airState.energy.inCurrent%}|{%airState.energy.outCurrent%}|{%airState.energy.totalCurrent%}" } ], "Push": [ ], "SmartMode": { "MODE010": { "_comment": "외출모드", "actionName": "@AC_OPER_ALARM_W", "control": [ { "ctrlKey": "basicCtrl", "command": "Set", "dataKey": "airState.operation", "dataValue": "0" } ] }, "MODE020": { "_comment": "귀가모드", "actionName": "@AC_OPER_ALARM_W", "control": [ { "ctrlKey": "basicCtrl", "command": "Set", "dataKey": "airState.operation", "dataValue": "2" } ] }, "MODE030": { "_comment": "휴가모드", "actionName": "@AC_OPER_ALARM_W", "control": [ { "ctrlKey": "basicCtrl", "command": "Set", "dataKey": "airState.operation", "dataValue": "0" } ] } }, "Config": { "fota":true, "audibleDiagnosis":true, "forceShowCIC":true } }

heuels commented 4 years ago

I own an LG Air Purifier, here is the device data:

Device dump
{
  'appType': 'NUTS',
  'modelCountryCode': 'WW',
  'countryCode': 'US',
  'modelName': 'AIR_910604_WW',
  'deviceType': 402,
  'deviceCode': 'LI02',
  'alias': 'Air Purifier',
  'deviceId': '00000000-0000-0000-0000-000000000000',
  'fwVer': '',
  'imageFileName': 'home_appliances_img_gpm.png',
  'ssid': 'SSID_NAME',
  'softapId': '',
  'softapPass': '',
  'macAddress': '01:23:45:56:78:9a',
  'networkType': '02',
  'timezoneCode': 'Europe/Moscow',
  'timezoneCodeAlias': 'Russia/Moscow',
  'utcOffset': 3,
  'utcOffsetDisplay': '+03:00',
  'dstOffset': 3,
  'dstOffsetDisplay': '+03:00',
  'curOffset': 3,
  'curOffsetDisplay': '+03:00',
  'sdsGuide': '{"deviceCode":"LI02"}',
  'newRegYn': 'N',
  'remoteControlType': '',
  'userNo': 'USER_ID',
  'tftYn': 'N',
  'deviceState': 'E',
  'snapshot': {
    'airState.quality.PM1': 8.0,
    'airState.lightingState.signal': 1.0,
    'airState.quality.PM2': 12.0,
    'airState.miscFuncState.airUVDisinfection': 1.0,
    'airState.reservation.sleepTime': 0.0,
    'airState.filterMngStates.maxTimeTop': 84.0,
    'airState.miscFuncState.cleanDry': 1.0,
    'airState.reservation.targetTimeToStart': 0.0,
    'airState.filterMngStates.maxTime': 1440.0,
    'airState.filterMngStates.useTimeBottom': 38.0,
    'airState.opMode': 12.0,
    'airState.wMode.humidification': 0.0,
    'airState.quality.sensorMon': 1.0,
    'airState.tempState.unit': 0.0,
    'meta': {
      'allDeviceInfoUpdate': False,
      'messageId': 'cpHjFPT8S4C3KoqYcwmIaw'
    },
    'online': True,
    'timestamp': 1591094848306.0,
    'airState.filterMngStates.useTimeTop': 0.0,
    'airState.tempState.target': 0.0,
    'airState.miscFuncState.airRemoval': 0.0,
    'airState.quality.PM10': 16.0,
    'airState.quality.overall': 1.0,
    'airState.quality.odor': 3.0,
    'airState.filterMngStates.useTimeMiddle': 0.0,
    'airState.windStrength': 8.0,
    'static': {
      'deviceType': '402',
      'countryCode': 'US'
    },
    'airState.tempState.current': 20.0,
    'airState.filterMngStates.maxTimeBottom': 720.0,
    'airState.operation': 1.0,
    'airState.filterMngStates.useTime': 758.0,
    'airState.reservation.targetTimeToStop': 0.0,
    'airState.filterMngStates.maxTimeMiddle': 84.0,
    'airState.miscFuncState.watertankLight': 0.0,
    'airState.humidity.desired': 50.0,
    'mid': 253238678.0,
    'airState.filterMngStates.desorption': 0.0,
    'airState.diagCode': 0.0,
    'airState.miscFuncState.airFast': 0.0,
    'airState.humidity.current': 67.0
  },
  'online': True,
  'platformType': 'thinq2',
  'area': 334505,
  'regDt': 20200505125401.0,
  'blackboxYn': 'Y',
  'modelProtocol': '',
  'receipeVersion': 0,
  'activeSaving': 'OFF',
  'smartCareV2': 'OFF',
  'order': 0,
  'drServiceYn': 'N',
  'regDtUtc': '20200505095401',
  'groupableYn': 'N',
  'controllableYn': 'N',
  'combinedProductYn': 'N',
  'masterYn': 'Y',
  'tclcount': 0
}
  
Model JSON descriptor
{
  "Info": {
    "productType": "AirPurifier",
    "productCode": "LI02",
    "country": "WW",
    "modelType": "",
    "model": "Normal",
    "modelName": "Full Model",
    "networkType": "WIFI",
    "version": "3.6"
  },
  "Module": {
    "WPM": {
      "GPM_CEN01_Main": "002",
      "GPM_FIL01_Main": "002",
      "GPM_FIL02_Date": "002",
      "GPM_FIL02_MultiFilter": "002",
      "GPM_FOT01_Main": "002",
      "GPM_POG01_Main": "002",
      "GPM_POL01_Guide": "002",
      "GPM_POL01_Inside": "002",
      "GPM_POL01_Outside": "002",
      "GPM_POL02_SelectCity": "002",
      "GPM_REC_Main": "002",
      "GPM_SCH01_Main": "002",
      "GPM_SCH02_AddEdit": "002",
      "GPM_SCH03_Delete": "002",
      "GPM_SCH04_Main": "002",
      "GPM_SCH05_OffTime": "002",
      "GPM_SCH06_OnTime": "002",
      "GPM_SCH07_SleepTime": "002",
      "GUG_FIL01": "002",
      "GUG_FIL02": "002",
      "GPM_SET01_Main": "002",
      "GPM_SET02_PushList": "002",
      "GPM_SET03_SensorMon": "002"
    },
    "Menu": [
      "GPM_FOL01",
      "GPM_SCH01_Main",
      "GPM_POG01_Main",
      "GPM_FIL01_Main",
      "GCM_SDS01_SdsMain",
      "GPM_SET01_Main"
    ]
  },
  "Exception": {
    "comment": "쾌속모드 동작후, 바람세기 조절시, 쾌속모드 해제된다."
  },
  "Value": {
    "support.airState.opMode": {
      "_comment": "FuncSync_운전모드",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "10": "@AP_MAIN_MID_OPMODE_CLEAN_W",
        "12": "@AP_MAIN_MID_OPMODE_SILENT_W",
        "13": "@AP_MAIN_MID_OPMODE_HUMIDITY_W"
      }
    },
    "support.airState.opModeExt": {
      "_comment": "FuncSync_운전모드 추가",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.windStrength": {
      "_comment": "FuncSync_바람세기",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "3": "@AP_MAIN_MID_WINDSTRENGTH_LOW_W",
        "5": "@AP_MAIN_MID_WINDSTRENGTH_MID_W",
        "7": "@AP_MAIN_MID_WINDSTRENGTH_HIGH_W",
        "9": "@AP_MAIN_MID_WINDSTRENGTH_AUTO_W"
      }
    },
    "support.airState.circulate.strength": {
      "_comment": "FuncSync_순환바람세기",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.circulate.rotate": {
      "_comment": "FuncSync_순환방향",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NONSUPPORT"
      }
    },
    "support.racMode": {
      "_comment": "FuncSync_RAC모드",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "11": "@AP_FASTEST",
        "12": "@AP_AIRREMOVAL",
        "13": "@AP_AIRUVDISINFECTION",
        "14": "@AP_CLEANDRY",
        "15": "@AP_HUMIDITYFASTEST"
      }
    },
    "support.airState.filterMngStates.desorption": {
      "_comment": "FuncSync_제품상태",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@AP_DUST_FILTER_STATUS",
        "2": "@AP_COVER_STATUS",
        "3": "@AP_TOP_FILTER_STATUS",
        "4": "@AP_MID_FILTER_STATUS",
        "5": "@AP_BOTTOM_PRE_FILTER_STATUS"
      }
    },
    "support.reserve": {
      "_comment": "FuncSync_예약 정보",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "5": "@AP_OFF_ON_TIME",
        "6": "@AP_SCHEDULER",
        "8": "@AP_SLEEP_TIMER_AIRCLEAN"
      }
    },
    "support.light": {
      "_comment": "FuncSync_라이팅",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "3": "@SIGNAL_LIGHTING_ONOFF"
      }
    },
    "support.humidityCtrl": {
      "_comment": "FuncSync_습도제어자리수",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@1_0UNIT_CONTROL",
        "2": "@2_0UNIT_CONTROL",
        "3": "@3_0UNIT_CONTROL",
        "4": "@4_0UNIT_CONTROL",
        "5": "@5_0UNIT_CONTROL",
        "6": "@6_0UNIT_CONTROL",
        "7": "@7_0UNIT_CONTROL",
        "8": "@8_0UNIT_CONTROL",
        "9": "@9_0UNIT_CONTROL",
        "10": "@10_0UNIT_CONTROL"
      }
    },
    "support.humidity.control": {
      "_comment": "FuncSync_습도제어자리수",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.tempState.unit": {
      "_comment": "FuncSync_화씨 섭씨",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.tempCtrl": {
      "_comment": "FuncSync_1도 0.5도",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON"
      }
    },
    "support.airState.groupType": {
      "_comment": "FuncSync_그룹타입",
      "data_type": "enum",
      "value_mapping": {
        "0": "@PAC",
        "3": "@AWHP",
        "4": "@HWANKI"
      }
    },
    "support.accumMode": {
      "_comment": "FuncSync_전력량사용여부",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NOT_SUPPORT"
      }
    },
    "support.airState.miscFuncSate.extraOp": {
      "_comment": "FuncSync_비상운전기능 지원",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NOT_SUPPORT",
        "1": "@SUPPORT"
      }
    },
    "support.mFilter": {
      "_comment": "FuncSync_M필터지원",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@SUPPORT",
        "3": "@SUPPORT_TOP_HUMIDIFILTER",
        "4": "@SUPPORT_MID_HUMIDIFILTER",
        "5": "@SUPPORT_BOTTOM_PREFILTER",
        "6": "@SUPPORT_BOTTOM_DUSTCOLLECTION"
      }
    },
    "support.airPolution": {
      "_comment": "FuncSync_공기오염도",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@POLUTION_SUPPORT",
        "2": "@PM1_0_SUPPORT",
        "3": "@PM2_5_SUPPORT",
        "4": "@PM10_SUPPORT",
        "5": "@TOTAL_CLEAN_SUPPORT",
        "6": "@SENSOR_HUMID_SUPPORT",
        "7": "@SENSOR_TEMP_SUPPORT",
        "8": "@SENSOR_MONITORING_SET_SUPPORT",
        "10": "@10"
      }
    },
    "support.airState.notification.detailList": {
      "_comment": "FuncSync_푸쉬 지원",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "3": "@PATLOL",
        "6": "@NOT_WATER",
        "9": "@TOP_FILTER",
        "10": "@MID_FILTER",
        "11": "@BOTTOM_PRE_FILTER",
        "12": "@BOTTOM_DUST_FILTER",
        "13": "@HUMIDITY_RECOMMAND"
      }
    },
    "support.smartFunc": {
      "_comment": "FuncSync_진단_포타지원",
      "data_type": "enum",
      "value_mapping": {
        "0": "@NON",
        "1": "@SDS_WIFI",
        "2": "@FOTA",
        "3": "@SDS_BUZZER"
      }
    },
    "airState.operation": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@operation_off",
        "1": "@operation_on"
      }
    },
    "airState.opMode": {
      "data_type": "enum",
      "label": "운전 모드",
      "value_mapping": {
        "0": "@AC_MAIN_OPERATION_MODE_COOL_W",
        "1": "@AC_MAIN_OPERATION_MODE_DRY_W",
        "2": "@AC_MAIN_OPERATION_MODE_FAN_W",
        "3": "@AC_MAIN_OPERATION_MODE_AI_W",
        "4": "@AC_MAIN_OPERATION_MODE_HEAT_W",
        "5": "@AC_MAIN_OPERATION_MODE_AIRCLEAN_W",
        "6": "@AC_MAIN_OPERATION_MODE_ACO_W",
        "7": "@AC_MAIN_OPERATION_MODE_AROMA_W",
        "8": "@AC_MAIN_OPERATION_MODE_ENERGY_SAVING_W",
        "9": "@AP_MAIN_MID_OPMODE_CLEAN_W",
        "10": "@AP_MAIN_MID_OPMODE_SLEEP_W",
        "11": "@AP_MAIN_MID_OPMODE_SILENT_W",
        "12": "@AP_MAIN_MID_OPMODE_HUMIDITY_W",
        "13": "@AP_MAIN_MID_OPMODE_CIRCULATOR_CLEAN_W",
        "14": "@AP_MAIN_MID_OPMODE_BABY_CARE_W",
        "15": "@AP_MAIN_MID_OPMODE_DUAL_CLEAN_W",
        "16": "@AP_MAIN_MID_OPMODE_AUTO_W",
        "17": "@AP_MAIN_MID_OPMODE_SMART_DEHUM_W",
        "18": "@AP_MAIN_MID_OPMODE_FAST_DEHUM_W",
        "19": "@AP_MAIN_MID_OPMODE_CILENT_DEHUM_W",
        "20": "@AP_MAIN_MID_OPMODE_CONCENTRATION_DRY_W",
        "21": "@AP_MAIN_MID_OPMODE_CLOTHING_DRY_W",
        "27": "@AP_MAIN_OPERATION_MODE_SMART_W",
        "28": "@AP_MAIN_OPERATION_MODE_FAST_W",
        "29": "@AP_MAIN_MID_OPMODE_HUMIDITY_NORMAL_W"
      }
    },
    "airState.windStrength": {
      "data_type": "enum",
      "label": "바람 세기",
      "value_mapping": {
        "0": "@AP_MAIN_MID_WINDSTRENGTH_LOWST_LOW_W",
        "1": "@AP_MAIN_MID_WINDSTRENGTH_LOWST_W",
        "2": "@AP_MAIN_MID_WINDSTRENGTH_LOW_W",
        "3": "@AP_MAIN_MID_WINDSTRENGTH_LOW_MID_W",
        "4": "@AP_MAIN_MID_WINDSTRENGTH_MID_W",
        "5": "@AP_MAIN_MID_WINDSTRENGTH_MID_HIGH_W",
        "6": "@AP_MAIN_MID_WINDSTRENGTH_HIGH_W",
        "7": "@AP_MAIN_MID_WINDSTRENGTH_POWER_W",
        "8": "@AP_MAIN_MID_WINDSTRENGTH_AUTO_W",
        "9": "@AP_MAIN_MID_WINDSTRENGTH_LONGPOWWER_W",
        "10": "@AP_MAIN_MID_WINDSTRENGTH_SHOWER_W",
        "11": "@AP_MAIN_MID_WINDSTRENGTH_FOREST_W",
        "12": "@AP_MAIN_MID_WINDSTRENGTH_TURBO_W",
        "13": "@AP_MAIN_MID_WINDSTRENGTH_FASTWIND_W"
      }
    },
    "airState.humidity.desired": {
      "_comment": "##희망습도_기본",
      "data_type": "range",
      "default": "30",
      "value_validation": {
        "min": 30,
        "max": 70,
        "step": 5
      }
    },
    "airState.circulate.strength": {
      "data_type": "enum",
      "label": "서큘레이터 세기",
      "value_mapping": {
        "0": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOWST_LOW_W",
        "1": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOWST_W",
        "2": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOW_W",
        "3": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LOW_MID_W",
        "4": "@AP_MAIN_MID_CIRCULATORSTRENGTH_MID_W",
        "5": "@AP_MAIN_MID_CIRCULATORSTRENGTH_MID_HIGH_W",
        "6": "@AP_MAIN_MID_CIRCULATORSTRENGTH_HIGH_W",
        "7": "@AP_MAIN_MID_CIRCULATORSTRENGTH_POWER_W",
        "8": "@AP_MAIN_MID_CIRCULATORSTRENGTH_AUTO_W",
        "9": "@AP_MAIN_MID_CIRCULATORSTRENGTH_LINK_W"
      }
    },
    "airState.circulate.rotate": {
      "data_type": "enum",
      "label": "순환 회전",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.miscFuncState.antiBugs": {
      "data_type": "enum",
      "label": "모기퇴치",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.tempState.current": {
      "_comment": "현재온도",
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": -40,
        "max": 60,
        "step": 1
      }
    },
    "airState.outside.temperature.current": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": -40,
        "max": 60,
        "step": 1
      }
    },
    "airState.groupType": {
      "_comment": "그룹타입 실질적으로 쓰지 않음",
      "data_type": "enum",
      "value_mapping": {
        "12": "@grouptype_aircare"
      }
    },
    "airState.filterMngStates.useTime": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 4000,
        "step": 1
      }
    },
    "airState.filterMngStates.maxTime": {
      "data_type": "enum",
      "label": "필터 최대값",
      "value_mapping": {
        "0": 0,
        "4000": 4000
      }
    },
    "airState.filterMngStates.type": {
      "data_type": "enum",
      "label": "필터 종류",
      "comment": "1 : 교체필터 , 2: 무교체필터",
      "value_mapping": {
        "1": 1,
        "2": 2
      }
    },
    "airState.miscFuncState.airRemoval": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.miscFuncState.airFast": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.miscFuncState.sleepMode": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.miscFuncState.airUVDisinfection": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.reservation.absoluteStartTime": {
      "_comment": "오전 12시 30분은 0030, 오후12시30분은 1230 ,오후 4시30분은 1630 off는 0 ",
      "data_type": "range",
      "value_validation": {
        "min": 0,
        "max": 2400
      }
    },
    "airState.reservation.absoluteStopTime": {
      "label": "꺼짐예약(시각)",
      "_comment": "오전 12시 30분은 0030, 오후12시30분은 1230 ,오후 4시30분은 1630 off는 0 ",
      "data_type": "range",
      "value_validation": {
        "min": 0,
        "max": 2400
      }
    },
    "airState.reservation.sleepTime": {
      "_comment": "1시간일 경우 60으로 데이터 받음, 2,4,8,12 시간 적용필요함. ",
      "data_type": "range",
      "default": 0,
      "value_validation": {
        "min": 0,
        "max": 420
      }
    },
    "airState.lightingState.signal": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.miscFuncState.cleanDry": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.miscFuncState.petMode": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_ON_W"
      }
    },
    "airState.quality.PM1": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 1000,
        "step": 1
      }
    },
    "airState.quality.PM2": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 1000,
        "step": 1
      }
    },
    "airState.quality.PM10": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 1000,
        "step": 1
      }
    },
    "airState.quality.sensorMon": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_SETTING_SENSORMON_OPERATIONING_W",
        "1": "@AP_SETTING_SENSORMON_ALWAYS_W"
      }
    },
    "airState.quality.airMon": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_SETTING_SENSORMON_OPERATIONING_W",
        "1": "@AP_SETTING_SENSORMON_ALWAYS_W"
      }
    },
    "airState.outside.quality.PM2": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 1000,
        "step": 1
      }
    },
    "airState.humidity.current": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 100,
        "step": 1
      }
    },
    "airState.quality.overall": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 1000,
        "step": 1
      }
    },
    "airState.quality.odor": {
      "data_type": "range",
      "default": "0",
      "comment": "냄새",
      "value_validation": {
        "min": 0,
        "max": 1000,
        "step": 1
      }
    },
    "airState.filterMngStates.desorption": {
      "data_type": "enum",
      "default": "0",
      "comment": "탈착감지",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "1": "@AP_POP_ALARM_FILTER_W",
        "2": "@AP_POP_ALARM_COVER_W",
        "3": "@AP_POP_ALARM_FILTER_COVER_W",
        "4": "@AP_POP_ALARM_HUMIDY_FILTER_W",
        "5": "@AP_POP_ALARM_FILTER_W",
        "6": "@AP_POP_ALARM_COVER_W",
        "7": "@AP_POP_ALARM_FILTER_W",
        "8": "@AP_POP_ALARM_HUMIDY_FILTER_W",
        "9": "@AP_POP_ALARM_FILTER_W",
        "10": "@AP_POP_ALARM_FILTER_W",
        "11": "@AP_POP_ALARM_FILTER_W",
        "12": "@AP_POP_ALARM_HUMIDY_FILTER_W",
        "13": "@AP_POP_ALARM_FILTER_W",
        "14": "@AP_POP_ALARM_FILTER_W",
        "15": "@AP_POP_ALARM_FILTER_W",
        "16": "@AP_POP_ALARM_FILTER_W",
        "17": "@AP_POP_ALARM_FILTER_W",
        "18": "@AP_POP_ALARM_FILTER_W",
        "19": "@AP_POP_ALARM_FILTER_W",
        "20": "@AP_POP_ALARM_FILTER_W",
        "21": "@AP_POP_ALARM_FILTER_W",
        "22": "@AP_POP_ALARM_FILTER_W",
        "23": "@AP_POP_ALARM_FILTER_W",
        "24": "@AP_POP_ALARM_FILTER_W",
        "25": "@AP_POP_ALARM_FILTER_W",
        "26": "@AP_POP_ALARM_FILTER_W",
        "27": "@AP_POP_ALARM_FILTER_W",
        "28": "@AP_POP_ALARM_FILTER_W",
        "29": "@AP_POP_ALARM_FILTER_W",
        "30": "@AP_POP_ALARM_FILTER_W",
        "31": "@AP_POP_ALARM_FILTER_W",
        "32": "@AP_POP_ALARM_FILTER_W",
        "33": "@AP_POP_ALARM_FILTER_W",
        "34": "@AP_POP_ALARM_FILTER_W",
        "35": "@AP_POP_ALARM_FILTER_W",
        "36": "@AP_POP_ALARM_FILTER_W",
        "37": "@AP_POP_ALARM_FILTER_W",
        "38": "@AP_POP_ALARM_FILTER_W",
        "39": "@AP_POP_ALARM_FILTER_W",
        "40": "@AP_POP_ALARM_FILTER_W",
        "41": "@AP_POP_ALARM_FILTER_W",
        "42": "@AP_POP_ALARM_FILTER_W",
        "43": "@AP_POP_ALARM_FILTER_W",
        "44": "@AP_POP_ALARM_FILTER_W",
        "45": "@AP_POP_ALARM_FILTER_W",
        "46": "@AP_POP_ALARM_FILTER_W",
        "47": "@AP_POP_ALARM_FILTER_W",
        "48": "@AP_POP_ALARM_FILTER_W",
        "49": "@AP_POP_ALARM_FILTER_W",
        "50": "@AP_POP_ALARM_FILTER_W",
        "51": "@AP_POP_ALARM_FILTER_W",
        "52": "@AP_POP_ALARM_FILTER_W",
        "53": "@AP_POP_ALARM_FILTER_W",
        "54": "@AP_POP_ALARM_FILTER_W",
        "55": "@AP_POP_ALARM_FILTER_W",
        "56": "@AP_POP_ALARM_FILTER_W",
        "57": "@AP_POP_ALARM_FILTER_W",
        "58": "@AP_POP_ALARM_FILTER_W",
        "59": "@AP_POP_ALARM_FILTER_W",
        "60": "@AP_POP_ALARM_FILTER_W",
        "61": "@AP_POP_ALARM_FILTER_W",
        "62": "@AP_POP_ALARM_FILTER_W",
        "63": "@AP_POP_ALARM_FILTER_W"
      }
    },
    "airState.outside.humidity.current": {
      "data_type": "range",
      "default": "0",
      "value_validation": {
        "min": 0,
        "max": 100,
        "step": 1
      }
    },
    "airState.diagCode": {
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@NORMAL",
        "9": "@ERROR_EEPROM",
        "10": "@ERROR_FAN",
        "11": "@ERROR_E11",
        "12": "@ERROR_CIRCULATION_FAN",
        "15": "@ERROR_E15",
        "255": "@NORMAL"
      }
    },
    "airState.quality.CO2Step": {
      "data_type": "range",
      "default": "0",
      "comment": "CO2",
      "value_validation": {
        "min": 0,
        "max": 5000,
        "step": 1
      }
    },
    "airState.miscFuncState.extraOp": {
      "comment": "중앙제어운전_NoticePanel",
      "data_type": "enum",
      "default": "0",
      "value_mapping": {
        "0": "@AP_OFF_W",
        "2": "@AP_MAIN_LOCKVALUE_CEN_ALL_W",
        "8": "@AP_MAIN_LOCKVALUE_CEN_SETWINDSTRENGTH_W",
        "10": "@AP_MAIN_LOCKVALUE_CEN_ALL_SETWINDSTRENGTH_W",
        "16": "@AP_MAIN_LOCKVALUE_CEN_SETOPMODE_W",
        "18": "@AP_MAIN_LOCKVALUE_CEN_ALL_SETOPMODE_W",
        "24": "@AP_MAIN_LOCKVALUE_CEN_SETWINDSTRENGTH_SETOPMODE_W",
        "26": "@AP_MAIN_LOCKVALUE_CEN_ALL_SETWINDSTRENGTH_SETOPMODE_W",
        "256": "@AP_MAIN_LOCKVALUE_CEN_CENCTRL_W",
        "1024": "@AP_MAIN_LOCKVALUE_CEN_POWERONOFF_W",
        "1026": "@AP_MAIN_LOCKVALUE_CEN_ALL_POWERONOFF_W",
        "1280": "@AP_MAIN_LOCKVALUE_CEN_CENCTRL_POWERONOFF_W",
        "1282": "@AP_MAIN_LOCKVALUE_CEN_ALL_CENCTRL_POWERONOFF_W"
      }
    }
  },
  "Monitoring": {
    "type": "JSON",
    "protocol": [
      {
        "path": "airState.operation",
        "value": "airState.operation"
      },
      {
        "path": "airState.opMode",
        "value": "airState.opMode"
      },
      {
        "path": "airState.humidity.desired",
        "value": "airState.humidity.desired"
      },
      {
        "path": "airState.windStrength",
        "value": "airState.windStrength"
      },
      {
        "path": "airState.circulate.strength",
        "value": "airState.circulate.strength"
      },
      {
        "path": "airState.circulate.rotate",
        "value": "airState.circulate.rotate"
      },
      {
        "path": "airState.miscFuncState.antiBugs",
        "value": "airState.miscFuncState.antiBugs"
      },
      {
        "path": "airState.miscFuncState.airRemoval",
        "value": "airState.miscFuncState.airRemoval"
      },
      {
        "path": "airState.miscFuncState.airFast",
        "value": "airState.miscFuncState.airFast"
      },
      {
        "path": "airState.miscFuncState.sleepMode",
        "value": "airState.miscFuncState.sleepMode"
      },
      {
        "path": "airState.miscFuncState.airUVDisinfection",
        "value": "airState.miscFuncState.airUVDisinfection"
      },
      {
        "path": "airState.lightingState.signal",
        "value": "airState.lightingState.signal"
      },
      {
        "path": "airState.reservation.absoluteStartTime",
        "value": "airState.reservation.absoluteStartTime"
      },
      {
        "path": "airState.reservation.absoluteStopTime",
        "value": "airState.reservation.absoluteStopTime"
      },
      {
        "path": "airState.reservation.sleepTime",
        "value": "airState.reservation.sleepTime"
      },
      {
        "path": "airState.diagCode",
        "value": "airState.diagCode"
      },
      {
        "path": "airState.quality.PM1",
        "value": "airState.quality.PM1"
      },
      {
        "path": "airState.quality.PM2",
        "value": "airState.quality.PM2"
      },
      {
        "path": "airState.quality.PM10",
        "value": "airState.quality.PM10"
      },
      {
        "path": "airState.quality.sensorMon",
        "value": "airState.quality.sensorMon"
      },
      {
        "path": "airState.quality.airMon",
        "value": "airState.quality.airMon"
      },
      {
        "path": "airState.humidity.current",
        "value": "airState.humidity.current"
      },
      {
        "path": "airState.tempState.current",
        "value": "airState.tempState.current"
      },
      {
        "path": "airState.quality.odor",
        "value": "airState.quality.odor"
      },
      {
        "path": "airState.filterMngStates.desorption",
        "value": "airState.filterMngStates.desorption"
      },
      {
        "path": "airState.miscFuncState.cleanDry",
        "value": "airState.miscFuncState.cleanDry"
      },
      {
        "path": "airState.miscFuncState.petMode",
        "value": "airState.miscFuncState.petMode"
      },
      {
        "path": "airState.quality.overall",
        "value": "airState.quality.overall"
      },
      {
        "path": "airState.quality.CO2Step",
        "value": "airState.quality.CO2Step"
      },
      {
        "path": "airState.miscFuncState.extraOp",
        "value": "airState.miscFuncState.extraOp"
      }
    ]
  },
  "ControlWifi": {
    "type": "JSON",
    "action": {}
  },
  "Push": [
    {
      "category": "3",
      "label": "@AP_SETTING_ALARM_RECOMMEND_W",
      "groupCode": "40201",
      "pushList": [
        {
          "0003": "@AP_SETTING_ALARM_DUST_W"
        }
      ]
    },
    {
      "category": "6",
      "label": "@AP_SETTING_ALARM_WATERTANK_LACK_W",
      "groupCode": "40203",
      "pushList": [
        {
          "0008": "@AP_SETTING_ALARM_WATERTANK_LACK_W"
        }
      ]
    },
    {
      "category": "9",
      "label": "@AP_SETTING_ALARM_FILTER_TOP_CHANGE_W",
      "groupCode": "40204",
      "pushList": [
        {
          "0009": "@AP_SETTING_ALARM_FILTER_CHANGE_W"
        }
      ]
    },
    {
      "category": "10",
      "label": "@AP_SETTING_ALARM_FILTER_MID_CHANGE_W",
      "groupCode": "40205",
      "pushList": [
        {
          "0010": "@AP_SETTING_ALARM_FILTER_CHANGE_W"
        }
      ]
    },
    {
      "category": "11",
      "label": "@AP_SETTING_ALARM_PRE_FILTER_CHANGE_W",
      "groupCode": "40206",
      "pushList": [
        {
          "0011": "@AP_SETTING_ALARM_FILTER_CHANGE_W"
        }
      ]
    },
    {
      "category": "12",
      "label": "@AP_SETTING_ALARM_DUST_FILTER_CHANGE_W",
      "groupCode": "40207",
      "pushList": [
        {
          "0012": "@AP_SETTING_ALARM_FILTER_CHANGE_W"
        }
      ]
    },
    {
      "category": "13",
      "label": "추천 운전 알림",
      "groupCode": "40250",
      "pushList": [
        {
          "0013": "@AP_SETTING_ALARM_DUST_W"
        }
      ]
    }
  ],
  "SmartMode": {
    "MODE010": {
      "_comment": "외출모드",
      "actionName": "@AP_ALARM_MODE_W",
      "control": [
        {
          "ctrlKey": "favoriteCtrl",
          "command": "Set",
          "dataSetList": {
            "airState.operation": "1",
            "airState.opMode": "10",
            "airState.windStrength": "8",
            "airState.reservation.sleepTime": "480"
          }
        }
      ]
    },
    "MODE020": {
      "_comment": "귀가모드",
      "actionName": "@AP_ALARM_MODE_W",
      "control": [
        {
          "ctrlKey": "favoriteCtrl",
          "command": "Set",
          "dataSetList": {
            "airState.operation": "1",
            "airState.opMode": "9",
            "airState.windStrength": "8",
            "airState.reservation.sleepTime": "0"
          }
        }
      ]
    },
    "MODE030": {
      "_comment": "휴가모드",
      "actionName": "@AP_ALARM_MODE_W",
      "control": [
        {
          "ctrlKey": "basicCtrl",
          "command": "Set",
          "dataKey": "airState.operation",
          "dataValue": "0"
        }
      ]
    },
    "MODE040": {
      "_comment": "취침모드",
      "actionName": "@AP_ALARM_MODE_W",
      "control": [
        {
          "ctrlKey": "favoriteCtrl",
          "command": "Set",
          "dataSetList": {
            "airState.operation": "1",
            "airState.opMode": "10",
            "airState.windStrength": "8",
            "airState.reservation.sleepTime": "480"
          }
        }
      ]
    },
    "MODE050": {
      "_comment": "쾌적모드",
      "actionName": "@AP_ALARM_MODE_W",
      "control": [
        {
          "ctrlKey": "basicCtrl",
          "command": "Set",
          "dataKey": "airState.operation",
          "dataValue": "1"
        }
      ]
    }
  },
  "Config": {
    "fota": true,
    "audibleDiagnosis": true,
    "forceShowCIC": true
  }
}
  
heuels commented 4 years ago

@tinkerborg, can I help you with anything? I can do Python, maybe I can try and implement support for devices that are present in this issue? 🙂

town3r commented 3 years ago

Has this worked with anyone that has an LG Dehumidifier?

I'm having issues with it detecting my device. It's saying no devices found after authenticating.
It's newer so I'm guessing v2 API. It uses the LG Thinq app

LG PuriCare 2019 50-Pint Pump and Wi-Fi in Black Energy Star Dehumidifier UD501KOJ5 https://www.lg.com/us/air-care-solutions/lg-ud501koj5

bryanshihpeng commented 2 years ago

@town3r I have an Asia version Dehumidifier, it works https://www.lg.com/tw/dehumidifier