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

Add support for Rhoss Idrowall MPCV 20-30-35-40 A/C protocol #1630

Merged

Conversation

tomrosenback
Copy link
Contributor

  • Add send and decode routines
  • Add support for:
    • Power
    • Temp (Celsius)
    • Swing
    • Mode
    • Fan Speed
    • Checksums
  • Add Unit tests
  • Add test project that relays decoded IR message through AC class

Tom Rosenback and others added 6 commits October 4, 2021 13:24
- Add send and decode routines
- Add support for:
  - Power
  - Temp (Celsius)
  - Swing
  - Mode
  - Fan Speed
  - Checksums
- Add Unit tests
- Add test project that relays decoded IR message through AC class
@crankyoldgit crankyoldgit self-requested a review October 7, 2021 11:26
@crankyoldgit crankyoldgit self-assigned this Oct 7, 2021
@crankyoldgit crankyoldgit added enhancement Hacktoberfest Hacktoberfest participation hacktoberfest-accepted Marking PRs as accepted for Hacktoberfest. labels Oct 7, 2021
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.

First off, thanks for taking the time to do this. I know It's a huge effort!

Sorry for all the nitpicks and comments etc.

examples/TestRhossAC/TestRhossAC.ino Outdated Show resolved Hide resolved
examples/TestRhossAC/platformio.ini Outdated Show resolved Hide resolved
src/IRac.cpp Outdated Show resolved Hide resolved
src/IRrecv.cpp Outdated Show resolved Hide resolved
src/IRrecv.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/IRac.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.h Outdated Show resolved Hide resolved
src/ir_Rhoss.h Outdated Show resolved Hide resolved
test/ir_Rhoss_test.cpp Show resolved Hide resolved
Copy link
Contributor Author

@tomrosenback tomrosenback left a comment

Choose a reason for hiding this comment

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

Thank you very much for those comments and thorough review! Nitpicking or not, must admit I missed some of the styleguides regarding alfabethical order and so on. Will do some more testing before pushing all changes.

test/ir_Rhoss_test.cpp Show resolved Hide resolved
examples/TestRhossAC/TestRhossAC.ino Outdated Show resolved Hide resolved
examples/TestRhossAC/platformio.ini Outdated Show resolved Hide resolved
src/IRremoteESP8266.h Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
- Change sending and decoding to match raw data
- Remove test project
- Make code comply with style guides
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.

Far less suggested changes this time. I'm pretty much happy with the code as-is, just a few minor improvements. Mostly style-type nit-picks.

Btw, thanks again for doing this. And a big THANK-YOU for providing Unit tests and data with your addition. That's above and beyond. 🥇

I hope you've registered for Hacktoberfest, because as far as I'm concerned, you've earn your shirt/stickers etc!

src/IRsend.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Show resolved Hide resolved
src/IRremoteESP8266.h Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.cpp Outdated Show resolved Hide resolved
src/ir_Rhoss.h Outdated Show resolved Hide resolved
test/ir_Rhoss_test.cpp Show resolved Hide resolved
Copy link
Contributor Author

@tomrosenback tomrosenback left a comment

Choose a reason for hiding this comment

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

You are more than welcome! You have put so much effort into this project so adding a new protocol to the list is the least I can do :D

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.

LGTM!

@crankyoldgit
Copy link
Owner

Just waiting on all the checks to complete before merging.

@crankyoldgit crankyoldgit merged commit 2e16e38 into crankyoldgit:master Oct 8, 2021
@tomrosenback tomrosenback deleted the add-rhoss-idrowall-ac-support branch October 9, 2021 17:33
crankyoldgit added a commit that referenced this pull request Nov 19, 2021
_v2.8.0 (20211119)_

**[Bug Fixes]**
- Fix compilation issue when using old 8266 Arduino Frameworks. (#1639 #1640)
- Fix potential security issue with `scrape_supported_devices.py` (#1616 #1619)

**[Features]**
- SAMSUNG_AC
  - Change `clean` setting to a toggle. (#1676 #1677)
  - Highest fan speed is available without Powerful setting. (#1675 #1678)
  - Change `beep` setting to a toggle. (#1669 #1671)
  - Fix Beep for AR12TXEAAWKNEU (#1668 #1669)
  - Add support for Horizontal Swing & Econo (#1277 #1667)
  - Add support for On, Off, & Sleep Timers (#1277 #1662)
  - Fix power control. Clean-up code & bitmaps from Checksum changes. (#1277 #1648 #1650)
- HAIER_AC176/HAIER_AC_YRW02
  - Add support A/B unit setting (#1672)
  - Add support degree Fahrenheit (#1659)
  - Add support `Lock` function (#1652)
  - Implement horizontal swing feature (#1641)
  - Implement Quiet setting. (#1634 #1635)
- Basic support for Airton Protocol (#1670 #1681)
- HAIER_AC176: Add Turbo and Quiet settings (#1634)
- Gree: Add `SwingH` & `Econo` control. (#1587 #1653)
- MIRAGE
  - Add experimental detailed support. (#1573 #1615)
  - Experimental detailed support for KKG29A-C1 remote. (#1573 #1660)
- ELECTRA_AC: Add support for "IFeel" & Sensor settings. (#1644 #1645)
- Add Russian translation (#1649)
- Add Swedish translation (#1627)
- Reduce flash space used. (#1633)
- Strings finally in Flash! (#1493 #1614 #1623)
- Add support for Rhoss Idrowall MPCV 20-30-35-40 A/C protocol (#1630)
- Make `IRAc::opmodeToString()` output nicer for humans. (#1613)
- TCL112AC/TEKNOPOINT: Add support for `GZ055BE1` model (#1486 #1602)
- Support for Arris protocol. (#1598)
- SharpAc: Allow position control of SwingV (#1590 #1594)

**[Misc]**
- HAIER_AC176/HAIER_AC_YRW02
  - Replace some magic numbers with constants (#1679)
  - Small fix `Quiet` and `Turbo` test (#1674)
  - Fix `IRHaierAC176::getTemp()` return value description (#1663)
- Security Policy creation and changes. (#1616 #1617 #1618 #1621 #1680)
- IRrecvDumpV2/3: Update PlatformIO envs for missing languages (#1661)
- IRMQTTServer
  - Use the correct string for Fan mode in Home Assistant. (#1610 #1657)
  - Move a lot of the strings/text to flash. (#1638)
- Minor code style improvements. (#1656)
- Update Supported Devices
  - HAIER_AC176 (#1673)
  - LG A/C (#1651 #1655)
  - Symphony (#1603 #1605)
  - Epson (#1574 #1601)
  - GREE (#1587 #1588)
  - SharpAc (#1590 #1591)
- Add extra tests for LG2 protocol (#1654)
- Fix parameter expansion in several macros.
- Move some strings to `IRtext.cpp` & `locale/default.h` (#1637)
- RHOSS: Move include and defines to their correct places (#1636)
- Make makefile only build required files when running `run-%` target (#1632)
- Update Portuguese translation (#1628)
- Add possibility to run specific test case (#1625)
- Change `googletest` library ignore (#1626)
- Re-work "Fan Only" strings & matching. (#1610)
- Address `C0209` pylint warnings. (#1608)
@crankyoldgit crankyoldgit mentioned this pull request Nov 19, 2021
crankyoldgit added a commit that referenced this pull request Nov 19, 2021
## _v2.8.0 (20211119)_

**[Bug Fixes]**
- Fix compilation issue when using old 8266 Arduino Frameworks. (#1639 #1640)
- Fix potential security issue with `scrape_supported_devices.py` (#1616 #1619)

**[Features]**
- SAMSUNG_AC
  - Change `clean` setting to a toggle. (#1676 #1677)
  - Highest fan speed is available without Powerful setting. (#1675 #1678)
  - Change `beep` setting to a toggle. (#1669 #1671)
  - Fix Beep for AR12TXEAAWKNEU (#1668 #1669)
  - Add support for Horizontal Swing & Econo (#1277 #1667)
  - Add support for On, Off, & Sleep Timers (#1277 #1662)
  - Fix power control. Clean-up code & bitmaps from Checksum changes. (#1277 #1648 #1650)
- HAIER_AC176/HAIER_AC_YRW02
  - Add support A/B unit setting (#1672)
  - Add support degree Fahrenheit (#1659)
  - Add support `Lock` function (#1652)
  - Implement horizontal swing feature (#1641)
  - Implement Quiet setting. (#1634 #1635)
- Basic support for Airton Protocol (#1670 #1681)
- HAIER_AC176: Add Turbo and Quiet settings (#1634)
- Gree: Add `SwingH` & `Econo` control. (#1587 #1653)
- MIRAGE
  - Add experimental detailed support. (#1573 #1615)
  - Experimental detailed support for KKG29A-C1 remote. (#1573 #1660)
- ELECTRA_AC: Add support for "IFeel" & Sensor settings. (#1644 #1645)
- Add Russian translation (#1649)
- Add Swedish translation (#1627)
- Reduce flash space used. (#1633)
- Strings finally in Flash! (#1493 #1614 #1623)
- Add support for Rhoss Idrowall MPCV 20-30-35-40 A/C protocol (#1630)
- Make `IRAc::opmodeToString()` output nicer for humans. (#1613)
- TCL112AC/TEKNOPOINT: Add support for `GZ055BE1` model (#1486 #1602)
- Support for Arris protocol. (#1598)
- SharpAc: Allow position control of SwingV (#1590 #1594)

**[Misc]**
- HAIER_AC176/HAIER_AC_YRW02
  - Replace some magic numbers with constants (#1679)
  - Small fix `Quiet` and `Turbo` test (#1674)
  - Fix `IRHaierAC176::getTemp()` return value description (#1663)
- Security Policy creation and changes. (#1616 #1617 #1618 #1621 #1680)
- IRrecvDumpV2/3: Update PlatformIO envs for missing languages (#1661)
- IRMQTTServer
  - Use the correct string for Fan mode in Home Assistant. (#1610 #1657)
  - Move a lot of the strings/text to flash. (#1638)
- Minor code style improvements. (#1656)
- Update Supported Devices
  - HAIER_AC176 (#1673)
  - LG A/C (#1651 #1655)
  - Symphony (#1603 #1605)
  - Epson (#1574 #1601)
  - GREE (#1587 #1588)
  - SharpAc (#1590 #1591)
- Add extra tests for LG2 protocol (#1654)
- Fix parameter expansion in several macros.
- Move some strings to `IRtext.cpp` & `locale/default.h` (#1637)
- RHOSS: Move include and defines to their correct places (#1636)
- Make makefile only build required files when running `run-%` target (#1632)
- Update Portuguese translation (#1628)
- Add possibility to run specific test case (#1625)
- Change `googletest` library ignore (#1626)
- Re-work "Fan Only" strings & matching. (#1610)
- Address `C0209` pylint warnings. (#1608)
@crankyoldgit
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Hacktoberfest Hacktoberfest participation hacktoberfest-accepted Marking PRs as accepted for Hacktoberfest.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants