@@ -1335,22 +1335,26 @@ void IRac::kelvinator(IRKelvinatorAC *ac,
13351335// / @param[in] fan The speed setting for the fan.
13361336// / @param[in] swingv The vertical swing setting.
13371337// / @param[in] swingv_prev The previous vertical swing setting.
1338+ // / @param[in] swingh The horizontal swing setting.
13381339// / @param[in] light Turn on the LED/Display mode.
13391340void IRac::lg (IRLgAc *ac, const lg_ac_remote_model_t model,
13401341 const bool on, const stdAc::opmode_t mode,
13411342 const float degrees, const stdAc::fanspeed_t fan,
13421343 const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev,
1343- const bool light) {
1344+ const stdAc:: swingh_t swingh, const bool light) {
13441345 ac->begin ();
13451346 ac->setModel (model);
13461347 ac->setPower (on);
13471348 ac->setMode (ac->convertMode (mode));
13481349 ac->setTemp (degrees);
13491350 ac->setFan (ac->convertFan (fan));
13501351 ac->setSwingV (ac->convertSwingV (swingv_prev));
1351- ac->updateSwingVPrev ();
1352+ ac->updateSwingPrev ();
13521353 ac->setSwingV (ac->convertSwingV (swingv));
1353- // No Horizontal swing setting available.
1354+ const uint8_t pos = ac->convertVaneSwingV (swingv);
1355+ for (uint8_t vane = 0 ; vane < kLgAcSwingVMaxVanes ; vane++)
1356+ ac->setVaneSwingV (vane, pos);
1357+ ac->setSwingH (swingh != stdAc::swingh_t ::kOff );
13541358 // No Quiet setting available.
13551359 // No Turbo setting available.
13561360 ac->setLight (light);
@@ -2650,7 +2654,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) {
26502654 {
26512655 IRLgAc ac (_pin, _inverted, _modulation);
26522656 lg (&ac, (lg_ac_remote_model_t )send.model , send.power , send.mode ,
2653- send.degrees , send.fanspeed , send.swingv , prev_swingv, send.light );
2657+ send.degrees , send.fanspeed , send.swingv , prev_swingv, send.swingh ,
2658+ send.light );
26542659 break ;
26552660 }
26562661#endif // SEND_LG
@@ -3071,6 +3076,8 @@ int16_t IRac::strToModel(const char *str, const int16_t def) {
30713076 return lg_ac_remote_model_t ::AKB75215403;
30723077 } else if (!strcasecmp (str, " AKB74955603" )) {
30733078 return lg_ac_remote_model_t ::AKB74955603;
3079+ } else if (!strcasecmp (str, " AKB73757604" )) {
3080+ return lg_ac_remote_model_t ::AKB73757604;
30743081 // Panasonic A/C families
30753082 } else if (!strcasecmp (str, " LKE" ) || !strcasecmp (str, " PANASONICLKE" )) {
30763083 return panasonic_ac_remote_model_t ::kPanasonicLke ;
0 commit comments