Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update IRac.cpp to also control left vane of Mitsubishi AC when command sent from generic IRac #1837

Merged
merged 1 commit into from
Jul 8, 2022

Conversation

tpanajott
Copy link
Contributor

Mitsubishi AC, when sent from generic IRac only controls the right vane. Make the left vane use the same setting.

Mitsubishi AC, when sent from generic IRac only controls the right vane. Make the left vane use the same setting.
@crankyoldgit crankyoldgit self-requested a review July 8, 2022 01:19
@crankyoldgit crankyoldgit self-assigned this Jul 8, 2022
Copy link
Owner

@crankyoldgit crankyoldgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR.
I think the reason I had previously left it out was because not all Mitsubishi models have a "left vane", and I wasn't sure how they would react to that setting being set if they didn't have that feature.

I think I'll try to dig up some previous owners to see what happens if a single vane model gets controls for twin vane ones.

This change may also require some changes to the unit tests. i.e. Different than expected messages will be generated.

@tpanajott
Copy link
Contributor Author

Sounds reasonable. I unfortunately only have a unit with two vanes to test with. If this is the case with other HVACs as well, maybe adding a flag for the generic IRac to treat them the same may be an option?

The only reason this is a problem for me is that I've made a custom PCB that I want to be able to handle many different HVACs and this project is perfect for that. But, the project is made around the use of the IRac so that it doesn't need specific code for each AC-unit.

@crankyoldgit
Copy link
Owner

Fingers crossed we will find out that "less featured" models just ignore the extra setting. That would be best.
Other than that, I'll look at adding "Model" support to the protocol to allow some models to support it, and some to ignore it.
I'm not against addressing the issue, just trying to find the best/safest way.

@tpanajott
Copy link
Contributor Author

Sounds good, please tell if there's anything I can do to help and I'll see what I can do.

@crankyoldgit
Copy link
Owner

@nao-pon @ratnick @chaisaeng @jenish-jain @sheppy99 @mihalski

Hey Folks, you seem to have access to a Mitsubishi A/C based on previous issues logged with this library.
Can I get some of you to please test this branch (https://github.com/tpanajott/IRremoteESP8266/tree/patch-1) to see how a "single" vertical vane model reacts when it is also sent commands for a left vertical vane as well.

You'll need to use the IRac interface (IRMQTTServer or Tasmota, or EasyESP etc) or use setVaneLeft() explicitly,

If I get some "it works as expected"'s then I'll merge this PR in.

@crankyoldgit crankyoldgit added the Pending Confirmation Waiting for confirmation from user label Jul 8, 2022
@nao-pon
Copy link

nao-pon commented Jul 8, 2022

Hi! long time no see!

I tried a single vane model (MLZ-RX5017AS) with this PR code. It worked fine without any problems.

  • Tasmota 12.0.2.3 + This PR's custom code
  • MQTT Topic: "cmnd/tasmota_livingac/irhvac"
  • JSON: "SwingV": "off", "SwingV": "auto", "SwingV": "highest", "SwingV": "high", "SwingV": "middle", "SwingV": "low" and "SwingV": "lowest" are OK!
{
    "StateMode": "SendStore",
    "Vendor": "MITSUBISHI_AC",
    "Model": "-1",
    "Power": "on",
    "Mode": "cool",
    "Celsius": "on",
    "Temp": 28,
    "FanSpeed": "auto",
    "SwingV": "lowest",
    "SwingH": "off",
    "Quiet": "off",
    "Turbo": "off",
    "Econo": "off",
    "Light": "off",
    "Filter": "off",
    "Clean": "off",
    "Beep": "off",
    "Sleep": -1
}

@crankyoldgit
Copy link
Owner

I tried a single vane model (MLZ-RX5017AS) with this PR code. It worked fine without any problems.

That's great news. Thanks for confirming.

Copy link
Owner

@crankyoldgit crankyoldgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with this now.

@crankyoldgit crankyoldgit merged commit 2bad027 into crankyoldgit:master Jul 8, 2022
crankyoldgit added a commit that referenced this pull request Sep 15, 2022
_v2.8.3 (20220915)_

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit crankyoldgit mentioned this pull request Sep 15, 2022
crankyoldgit added a commit that referenced this pull request Sep 16, 2022
**_v2.8.3 (20220915)_**

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit
Copy link
Owner

FYI, the changes mentioned above have now been included in the new v2.8.3 release of the library.

@tpanajott tpanajott deleted the patch-1 branch September 17, 2022 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Pending Confirmation Waiting for confirmation from user
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants