[APP][Pro] Mitsubishi WF-RAC - Cooling, heating and ventilation

Thanks Edwin for merging so quickly! Happy to help test future changes. :grinning_face:

Amazing work! Thank you so much! :grinning_face:

Is it correct that this app works with both Mitsubishi Electric and Mitsubishi Heavy Industries air conditioners?

Perhaps this could be specified more clearly for the SRK/SRC 50ZS-W(F) models, as I understand that the SRK/SRC 50ZS-W requires an optional Wi-Fi module.

We have 3 indoor units connected to 1 outdoor unit. I recently noticed that since the latest update, it is no longer possible to change the air conditioners’ operating mode.

When you select a mode, for example “Heating” or “Cooling”, it always switches back to “Automatic”.

If I change this setting in the Smart M-Air app, it works correctly. However, when I then view or change the mode again in Homey, the mode reverts back to “Automatic” (even if I have not selected any mode in Homey).

With this behavior, it is difficult for us to use the system because the air conditioner retains the last operation performed on the outdoor unit.

So, if my son is gaming in the attic and it becomes very warm there, the outdoor unit will switch to cooling mode, while it may actually be colder in the living room and I would like to heat that room.

Therefore, I never use the Automatic setting, but always select a fixed mode so that I remain in control.

It would be great if this functionality could be restored. Is there a solution for this problem?

As far as I know, it is not possible to heat and cool at the same time on the same outdoor unit.

That is indeed not possible, which is exactly why I do not want it to remain on Automatic mode through Homey. I simply want to be able to choose and set the operating mode myself.

At the moment, one room is warm while another room is cold. If Homey keeps automatically switching it back to Automatic mode, the outdoor unit gets confused.

That is why I want to be able to select the mode manually and prevent it from switching back to Automatic.

Previously, this worked perfectly through Homey. The option is still there, but whenever I select a mode, it automatically switches back to Automatic again.

In the Smart M-Air app, the selected mode remains active as expected. However, as soon as I control the system through Homey again, it switches back to Automatic mode.

You should use the operating mode, and not the thermostat mode because that capability isn’t fully supported. For example, there is no “Dry” thermostat mode, and will fall back to auto if the operating more is set to dry. The thermostat mode only fixes the coloring of the thermostat UI component.

And how do I set it to “Operating Mode” via Homey?

I do see an “Off” option under “Thermostat”, but when I select that, that function automatically switches back to “Automatic” again.

There is a dropdown in the UI. Choose “Werkingsmodus” instead of “Thermostaatmodus”:

This is exactly what I mean…

If I set this setting to, for example, “heating”, it automatically switches back to “automatic” mode after a few seconds..

This setting switch does not seem to work…

You are right, I misread your previous post. I thought you meant thermostat mode. It does not jump to the right mode after a few minutes, or does it timeout? Could you send a diagnostic report right after it switches back to auto?

687afe74-e559-431d-95cb-fabcba7c52c1

Here it is, there no time-out notification, it just jumps back into auto mode…

Hi, I am experiencing the same thing.

Are you both sure you don’t have any flow(s) active which do this?

I don’t have any flows active.

I set them up manually.

No flows active

Hi, thanks for the detailed report! I contributed several of the changes in 1.5.x (live power, thermostat mode and others), and I think I know what’s going on. Some help verifying it would let me work on a fix.

What I think is happening

To show live power, the app asks the unit for its operating current about once a minute, but only while the unit is on. It does that by sending a frame with no “set” flags, which normally means “change nothing, just answer”. On my own unit, nothing changes.

The Home Assistant integration has documented that some indoor units apply that frame anyway. Because the frame is empty, the values it contains decode as:

  • operating mode: Automatic
  • fan speed: lowest step
  • louvers: first position
  • set temperature: down to its minimum
  • (sometimes) power off

Since the request repeats every minute, such a unit can’t be kept in a fixed mode. That would explain why a mode set in Smart M-Air holds at first and then jumps back to Automatic a few minutes later, even if you didn’t touch anything in Homey. The app pauses these requests for 3 minutes after another app has controlled the unit, which explains the delay.

The thermostat mode in Homey only reflects the unit’s real state, so it shows Automatic because the unit really is in Automatic at that moment.

Could you help verify this?

  1. Set one indoor unit to a fixed mode (e.g. Heating) in Smart M-Air, and note its fan speed, louver position and set temperature as well.
  2. Don’t touch Homey and wait about 5 minutes.
  3. When the mode has jumped to Automatic, check in Smart M-Air: did the fan speed, louvers or set temperature change at the same time? If several of them dropped to their lowest setting, that confirms the cause.
  4. Please share the model numbers (DM) of your indoor units and outdoor unit, and these three values from the Homey device settings (section Product): Type, Wireless unit and Microcontroller. Please don’t share the Operator ID: that’s the key the unit uses to accept commands from Homey.

What I have in mind

If this is confirmed, I’d like to propose two changes:

  • A setting “Measure live power” in the device settings. It would be on by default, since it works fine on most units, and you could turn it off yourself for units that misbehave.
  • Automatic protection: I would be cool if we can think of a way to recognize this behaviour and notify/ alert on it or even have the Measure live power setting to be disabled automatically. Lets first confirm this is actually the case and work from there.

Thanks!

I have tested and performed the following:

  • I asked everyone in our household not to interact with Homey.
  • Using the Smart M-Air app, I configured one indoor air conditioning unit with the following fixed settings: Cooling mode, fan speed level 3, louvers set to high, temperature set to 20°C, and then turned the unit on.
  • After 10 minutes, I reopened the Smart M-Air app and verified that all settings were still exactly the same.
  • After 15 minutes, I opened Homey again and checked the “operating mode” of that same air conditioner. At that point, it was set to “Automatic”.
  • After noticing this, I reopened the Smart M-Air app and saw that all settings were still unchanged, except for the operating mode, which had also switched back to “Automatic”.

Thank you very much for your efforts and for thinking along with us to solve this issue. We really appreciate your support!

Could it be that the Thermostat Mode and the Operating Mode are interfering with each other?

In the Homey app, both are set to Automatic. It is possible to change both of them to a different setting for a brief moment, but in every case they immediately switch back to Automatic mode.

The Thermostat Mode behaves in exactly the same way; it cannot be disabled either.

Thanks for testing so carefully! Your results rule out my first theory: the power requests should have run during those 10 minutes and didn’t change anything, and only the operating mode changed, not the fan speed, louvers or temperature. So it doesn’t seem to be related to the live power measurement.

One cause found and fixed

I’ve been able to reproduce one way the mode jumps back, on my own unit:

  1. Change the operating mode in Homey, for example to Heating.
  2. Change the target temperature within a few seconds afterwards.

When you change the temperature, the app also sent the mode it had stored, and that stored value was only updated every 30 seconds. So the unit went back to the previous mode. That’s easy to run into, because after switching to heating you’d naturally raise the temperature. The same happened when you changed the temperature shortly after changing the mode with the remote or in Smart M-Air.

I’ve proposed a fix to @evdpol in PR #10. With it, a temperature change no longer sends a mode at all, so it can’t reset the mode anymore. I’ve tested it on my own unit. It also changes the Dutch label “Verhitten” to “Verwarmen”.

I’ve also proposed PR #11: a new “External control” indicator. When the unit is operated with the remote or Smart M-Air, the app holds back for 3 minutes so it doesn’t get in the way, and the indicator shows when that’s happening.

Still unexplained

In your test the mode went to Automatic without you changing anything in Homey, and the bug above doesn’t explain that. Could you help me narrow it down?

  1. Set a unit to Cooling in Smart M-Air.
  2. Within 1 minute, open that unit in Homey without touching anything. Does Homey show Cooling or Automatic as the operating mode?
  3. Close Homey and wait 10 minutes without touching anything. Does Smart M-Air still show Cooling, or has it switched to Automatic?

If Homey already shows Automatic in step 2 while Smart M-Air says Cooling, the app is probably reading the mode wrongly for your units. That could be specific to multi-split systems, and combined with the bug above, it would send that wrong “Automatic” to the unit.

@evdpol, could you check the diagnostic report from #379 (687afe74-e559-431d-95cb-fabcba7c52c1) for the User changed capability and [Update] lines just before the switch to Automatic? The [Response] lines of getAirconStat would also show which mode the unit itself reports.