absalom-muc / MHI-AC-Ctrl

Reads and writes data (e.g. power, mode, fan status etc.) from/to a Mitsubishi Heavy Industries (MHI) air conditioner (AC) via SPI controlled by MQTT
MIT License
270 stars 61 forks source link

Why vanes up/down position with RC - > unknown #127

Closed glsf91 closed 1 year ago

glsf91 commented 1 year ago

In the documentation is stated for the Vanes topic: "When the last command was received via the infrared remote control then the Vanes status is unknown and the "?" is published"

I have a SRK-35-ZS AC. When looking with MHI-AC-Trace I see a difference in the MOSI when using the RC button airflow up/down. When I remove the lines in MHI-AC-Ctrl-core.cpp:

if ((vanestmp & 0x88) == 0) // last vanes update was via IR-RC, so status is not known
        m_cbiStatus->cbiStatusFunction(status_vanes, vanes_unknown);

the vanes up/down is shown correctly in the Vanes topic according using the RC. Only the vanes on 45 degrees are shown as 2, same as 1 above. But also in the app (WF-RAC) this is the case. So only 4 positions are shown.

Only 1 mode is not shown when using the RC. That is the symbol on the RC without any position sign. This is the symbol which is shown after the swing and before the upper horizontal position. Vanes topic will be 2 in this case. Same happens with the app (WF-RAC).

So why is this set to unknown while it looks like it is working fine?

absalom-muc commented 1 year ago

I had so far no chance to test it, but I could imagine that this is also related to the behaviour after powering on/off the AC you described here. Maybe it works only after setting fan Auto.

glsf91 commented 1 year ago

I just tested this after power off mains (230V). It is working right away. No need to set fan to Auto first.

Maybe you can enable this again the software instead of unknown?

absalom-muc commented 1 year ago

I can't confirm your observation (at least not for my AC). Once I use the Vanes U/D button on the IR RC the status changes to swing without the lines you mentioned. For my test I used an addtional status topic status_test:

      // Test 21.01.2023
      if ((vanestmp & 0x40) != 0) // Vanes status swing
          m_cbiStatus->cbiStatusFunction(status_test, vanes_swing);
      else
          m_cbiStatus->cbiStatusFunction(status_test, (vanestmp & 0x03) + 1);
      // Testend

I have the indoor unit SRK 35 ZS-S, no idea why it behaves so differently.

glsf91 commented 1 year ago

I have the SRK 35 ZS-W. Strange if there is a difference.