Support for "Fan" and "Dry" modes on LG Airco (multi split unit)
Hi, as discussed earlier I did some debugging and created a new issue for tracking. I am not that much experienced with debugging and logfiles so I hope I have provided everything you need to take a closer look. 

Thnx for your support it is a great plugin :)! 

See below the device I have tested with, I do have 3 other airco's (only one is slightly different, let me know if you want to have a specific log for that one too). The other two are identical to the one below:

[4/5/2022, 9:47:51 AM] [LGThinQ] [Airco Slaapkamer] Setting up device!
[4/5/2022, 9:47:51 AM] [LGThinQ] Restoring existing accessory: 4b951d14-2aa5-1ec2-867b-44cb8bea50be: Airco Slaapkamer (AC RAC_056905_WW)
[4/5/2022, 9:47:51 AM] [LGThinQ] Device data:  {"deviceId":"84f83565-24fd-167a-803d-402f866dbd39","deviceType":401,"modelName":"RAC_056905_WW","subModelNm":null,"sensorType":null,"alias":"Airco Liam","deviceCode":"AI01","networkType":"02","tftYn":"N","guideTypeYn":"Y","guideType":"RAC_TYPE1","pccModelYn":"N","autoOrderYn":"N","drServiceYn":"N","ssid":"KoosDraadloos","timezoneCode":"Europe/Amsterdam","timezoneCodeAlias":"Europe/Amsterdam","sdsGuide":"{\"deviceCode\":\"AI01\"}","newRegYn":"N","remoteControlType":"","fareTarget":null,"area":"249758","sleep":null,"deviceState":"E","rmsClientId":null,"regDtUtc":"20201117142517000","regIndex":0,"blackboxYn":"Y","groupableYn":"Y","controllableYn":"Y","combinedProductYn":"N","masterYn":"Y","snapshot":{"airState.windStrength":6,"airState.wMode.lowHeating":0,"airState.diagCode":0,"airState.lightingState.displayControl":0,"airState.wDir.hStep":0,"mid":551840584,"airState.energy.onCurrent":0,"airState.wMode.airClean":0,"airState.quality.sensorMon":0,"airState.tempState.target":18,"airState.operation":0,"airState.wMode.jet":0,"airState.wDir.vStep":0,"timestamp":1649144470853,"airState.powerSave.basic":0,"static":{"deviceType":"401","countryCode":"NL"},"airState.tempState.current":15,"airState.miscFuncState.extraOp":0,"airState.reservation.sleepTime":0,"airState.miscFuncState.autoDry":0,"airState.reservation.targetTimeToStart":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"p1ntxm0sQwCHy-APC_7owg"},"online":true,"airState.opMode":2,"airState.reservation.targetTimeToStop":0,"airState.filterMngStates.maxTime":0,"airState.filterMngStates.useTime":0},"manufacture":null,"online":true,"platformType":"thinq2","homeDeviceOrder":3,"roomDeviceOrder":-1,"ownershipYn":"Y","modelJsonVer":"12.14","modelJsonUri":"https://objectcontent.lgthinq.com/eb1241c7-88d3-40af-9291-6b960bf5179b?hdnts=exp=1711856115~hmac=6c5f4447d2e5e4ea12949841aa287281dd7087a2ae605815cbd9c1d59d6c4d36","appModuleVer":"17.78","appModuleUri":"https://objectcontent.lgthinq.com/6f9e5106-2098-4fff-8382-44224a29519d?hdnts=exp=1701394617~hmac=5b9c7381ced9740f199fbe379f86226fcb0dd261953164fbfed15b0d1bf63b7e","appRestartYn":"Y","appModuleSize":"12867303","langPackProductTypeVer":"62.3","langPackProductTypeUri":"https://objectcontent.lgthinq.com/ef7c034f-9441-4811-8bd9-4f480f335519?hdnts=exp=1711497657~hmac=3df767e49c585b6d1ff87566ef2792f964165b9a223ff60208679203f24a0f21","langPackModelVer":null,"langPackModelUri":null,"roomId":"","fwInfoList":[{"checksum":"00000409","partNumber":"SAA38690409","order":1}],"modemInfo":{"modelName":"RAC_056905_WW","appVersion":"clip_hna_v1.9.161","modemType":"QCOM_QCA4010","ruleEngine":"y"},"existsEntryPopup":"N","fwVer":null,"modemVer":null,"subDeviceCount":0,"firebaseLogKey":"P:SD","cardType":"Large","cardControl":"Control","detailDeviceCode":null,"upgradableYn":"N","autoFwDownloadYn":"N"}



**Describe the solution you'd like:**
My LG Airco unit do have modes 'Dry' and 'Fan' too. Sometimes I wish to only activate the fan instead of the heating and cooling. . It would be cool if the 'dry' and 'fan' mode can be activated in the temperature control, or as a separate switch. I am not sure what options are supported in the 'regular' temperature control function in HomeKit

**Device Data:**
When I switch on in "Fan" mode

[4/5/2022, 9:54:11 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"I6_tf7wGSfqWuCSFrIYuyw"},"mid":1113468745,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145251834}
[4/5/2022, 9:54:11 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"I6_tf7wGSfqWuCSFrIYuyw"},"mid":1113468745,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145251834}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:54:15 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"OWRCWzt6RWmjYHeqb74emA"},"mid":1113472875,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145255767}
[4/5/2022, 9:54:15 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"OWRCWzt6RWmjYHeqb74emA"},"mid":1113472875,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145255767}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:54:22 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.operation":1,"meta":{"allDeviceInfoUpdate":false,"messageId":"Z7ProTSLTOmXZbPK7wGx5A"},"mid":1113479863,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145262749}
[4/5/2022, 9:54:22 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.operation":1,"meta":{"allDeviceInfoUpdate":false,"messageId":"Z7ProTSLTOmXZbPK7wGx5A"},"mid":1113479863,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145262749}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:54:23 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"pBVYEN3PQ3SHRDsZMPm57w"},"mid":1113480915,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145263795}
[4/5/2022, 9:54:23 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"pBVYEN3PQ3SHRDsZMPm57w"},"mid":1113480915,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145263795}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:54:27 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"HyVJ9MlORhC5Z41pkazqrw"},"mid":1113485065,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145267693}
[4/5/2022, 9:54:27 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"HyVJ9MlORhC5Z41pkazqrw"},"mid":1113485065,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145267693}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:54:30 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"zXGDik_GSxiYwD3aEcJ4QQ"},"mid":1113487345,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145270097}
[4/5/2022, 9:54:30 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"zXGDik_GSxiYwD3aEcJ4QQ"},"mid":1113487345,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145270097}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}

When I switch on "Dry" mode
[4/5/2022, 9:55:57 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.operation":1,"meta":{"allDeviceInfoUpdate":false,"messageId":"1mILTUhwTNC0Bjd7U0ZcOQ"},"mid":1113576217,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145356763}
[4/5/2022, 9:55:57 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.operation":1,"meta":{"allDeviceInfoUpdate":false,"messageId":"1mILTUhwTNC0Bjd7U0ZcOQ"},"mid":1113576217,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145356763}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:55:59 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"G6gadoCyQc-XIbgseZtGew"},"mid":1113578499,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145359045}
[4/5/2022, 9:55:59 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"G6gadoCyQc-XIbgseZtGew"},"mid":1113578499,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145359045}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:56:02 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"934VBok0Q9KWfNH0FtUSCA"},"mid":1113582040,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145362474}
[4/5/2022, 9:56:02 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"934VBok0Q9KWfNH0FtUSCA"},"mid":1113582040,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145362474}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:56:10 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"lWl2YKgpR7iLcxmzGQAbcQ"},"mid":1113590516,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145370746}
[4/5/2022, 9:56:10 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":22,"meta":{"allDeviceInfoUpdate":false,"messageId":"lWl2YKgpR7iLcxmzGQAbcQ"},"mid":1113590516,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145370746}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:56:11 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.operation":1,"airState.tempState.target":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"t8fiJJpKRZWjER3fwUjAyQ"},"mid":1113591505,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145371706}
[4/5/2022, 9:56:11 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.operation":1,"airState.tempState.target":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"t8fiJJpKRZWjER3fwUjAyQ"},"mid":1113591505,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145371706}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:56:14 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"um2pQoJwS0icql5x9rhikw"},"mid":1113594628,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145374873}
[4/5/2022, 9:56:14 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.tempState.current":21.5,"meta":{"allDeviceInfoUpdate":false,"messageId":"um2pQoJwS0icql5x9rhikw"},"mid":1113594628,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145374873}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}
[4/5/2022, 9:56:16 AM] [LGThinQ] [Airco Slaapkamer] Received snapshot:  {"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"-mCRkiUlTieJ81Xds_ZlIQ"},"mid":1113596519,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145376528}
[4/5/2022, 9:56:16 AM] [LGThinQ] mqtt message received: {"data":{"state":{"reported":{"airState.operation":0,"meta":{"allDeviceInfoUpdate":false,"messageId":"-mCRkiUlTieJ81Xds_ZlIQ"},"mid":1113596519,"online":true,"static":{"countryCode":"NL","deviceType":"401"},"timestamp":1649145376528}}},"deviceId":"4b951d14-2aa5-1ec2-867b-44cb8bea50be","type":"monitoring"}

Additional, I noticed this error in the logs:

[4/5/2022, 9:29:29 AM] [homebridge-lg-thinq] This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic was supplied illegal value: number 0 exceeded minimum of 1. See https://git.io/JtMGR for more info.
[4/5/2022, 9:29:29 AM] [homebridge-lg-thinq] Error: 
    at TargetHeaterCoolerState.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2142:105)
    at TargetHeaterCoolerState.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2045:14)
    at TargetHeaterCoolerState.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1582:21)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at __awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
    at TargetHeaterCoolerState.Characteristic.handleGetRequest (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Characteristic.js:689:38)
    at TargetHeaterCoolerState.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2207:22)

Thnx again and sorry for the long post! 