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

[HAIER_AC176] Add Turbo and Quiet settings #1634

Merged
merged 3 commits into from
Oct 11, 2021

Conversation

PtilopsisLeucotis
Copy link
Collaborator

  • Set beep setting alwais true
  • Add Turbo and Quiet settings

Haier AC have beep sounds alwais on.
Copy link
Collaborator

@NiKiZe NiKiZe left a comment

Choose a reason for hiding this comment

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

Just got some initial feedback.

src/ir_Haier.cpp Outdated Show resolved Hide resolved
src/ir_Haier.cpp Outdated Show resolved Hide resolved
@crankyoldgit crankyoldgit self-requested a review October 11, 2021 10:07
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.

Many thanks for the contribution.
Your changes have made some of our unit tests fail. Most of them should be easy corrections to the test data.

Here are the tests/errors/failures that need to addressed:

[ RUN      ] TestHaierACClass.toCommon
ir_Haier_test.cpp:1105: Failure
Value of: ac.toCommon().beep
  Actual: true
Expected: false
[  FAILED  ] TestHaierACClass.toCommon (0 ms)

[ RUN      ] TestHaierACYRW02Class.toCommon
ir_Haier_test.cpp:1136: Failure
Value of: ac.toCommon().beep
  Actual: true
Expected: false
[  FAILED  ] TestHaierACYRW02Class.toCommon (0 ms)

Is Turbo Low, really Quiet? If so, we should probably make that official & properly supported.

@PtilopsisLeucotis
Copy link
Collaborator Author

I will correct both tests with beep.

About Turbo Low and Quiet: My IR remote have a button, called Turbo/Quiet. From AC manual:

The TURBO function is used for fast heating or cooling. Press the TURBO/QUIET button once and the remote control will display the TURBO icon on the bottom right side of the remote display and switch the unit to the TURBO function.
The QUIET function may be used when silence is needed for fast rest or reading. Press the TURBO/QUIET button again to switch to QUIET mode and the remote control will display the QUIET icon on the bottom left side of the remote display.
Press the TURBO/QUIET button a third time to cancel TURBO/QUIET and return to normal operation.
Note:
TURBO/QUIET modes are only available when the unit is under cooling or heating mode (not for auto or fan mode).

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.

Looks good to me.
Thanks again. I'll merge after the tests complete successfully.
I'll do another PR to re-implement this as separate turbo and quiet.

@crankyoldgit crankyoldgit merged commit 1cb83e0 into crankyoldgit:master Oct 11, 2021
@crankyoldgit crankyoldgit self-assigned this Oct 11, 2021
@crankyoldgit crankyoldgit added enhancement Hacktoberfest Hacktoberfest participation hacktoberfest-accepted Marking PRs as accepted for Hacktoberfest. labels Oct 11, 2021
@PtilopsisLeucotis
Copy link
Collaborator Author

Great!

@PtilopsisLeucotis PtilopsisLeucotis deleted the haier_ac_176 branch October 12, 2021 03:59
crankyoldgit added a commit that referenced this pull request Oct 12, 2021
* Change `setTurbo()` & `getTurbo()` to operate on Booleans only.
* Add `setQuiet()` & `getQuiet()` methods.
* Limit Quiet & Turbo to `Cool` & `Heat` operating modes.
* Quiet & Turbo are mutually exclusive.

* Improve unit testing.
* General code style cleanups.

Ref #1634
FYI @PtilopsisLeucotis
crankyoldgit added a commit that referenced this pull request Oct 12, 2021
* Change `setTurbo()` & `getTurbo()` to operate on Booleans only.
* Add `setQuiet()` & `getQuiet()` methods.
* Limit Quiet & Turbo to `Cool` & `Heat` operating modes.
* Quiet & Turbo are mutually exclusive.

* Improve unit testing.
* General code style cleanups.

Ref #1634
FYI @PtilopsisLeucotis
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.

3 participants