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

Deep decoding for Whirlpool A/C #572

Merged
merged 16 commits into from
Nov 20, 2018
Merged

Deep decoding for Whirlpool A/C #572

merged 16 commits into from
Nov 20, 2018

Conversation

crankyoldgit
Copy link
Owner

Support deep decoding and creation of Whirlpool A/C messages

  • Supports two different models.

  • Unit test coverage for all supported modes/settings.

  • Modes fully supported:

    • Toggling power mode
    • Cool/Heat/Fan
    • Clock/On & Off Timer
    • Temperature
    • Swing
    • Light/Dimmer
  • Partial Support:

    • Dry mode.
    • 6th Sense (Auto)
    • Super/Jet
    • Sleep
    • Button Pressed.
  • Not supported:

    • iFeel
    • AboutU
    • Quiet
    • Smart
    • Powersave

Help from @josh929800 @raducostea @redmusicxd

Fixes #509

Partial check in of some code to support deep decoding of Whirlpool A/C

* Checksum support added to decodeWhirlpoolAC()
* Some basic untested support for:
  - Mode
  - Fan speed
  - Temp

Unit tests to come later.
Ref: #509
Also include unit tests for functions added thus far.
- On & Off timer support
- Refactor Clock routines.
- Add set/getPowerToggle().
- Clean up some incorrect bit ordering for some routines.
- Unit test coverage for new stuff and more real examples.
Automatically set the Command/Button press when changing other modes.
I was off by a nibble. Fixed.
I was off by a nibble.
- Add tests for PowerToggles
- Add real-data check for fan speed reading.
- set/getModel()
- Handle the changing min temp.
- Unit tests for the above.
- Add model info for DG11J1-91 remote
- Handle max temp correctly for DG11J1-91
- Set fan to auto
- Seems to set temp to 23C.
- Add comments noting what modes are not implemented etc.
- Unit tests for sleep and super modes.
- Correct the initial/reset state for WhirlpoolAc
- Unit tests to verify we can construct a valid WhirlpoolAc message when compared to a real example.
Copy link
Collaborator

@markszabo markszabo 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 crankyoldgit merged commit 2cb7445 into master Nov 20, 2018
crankyoldgit added a commit that referenced this pull request Nov 23, 2018
**[Features]**
- Add deep support for the Hitachi 28-Byte A/C Protocol (#563)
- Deep decoding for Whirlpool A/C (#572)
- Improve security options for IRMQTTServer example. (#575)
- Require a changed firmware password before upload. (#576)

**[Misc]**
- Add missing '}' in output of Auto analyse. (#562)
- Make A/C example code a bit more simple. (#571)
@crankyoldgit crankyoldgit mentioned this pull request Nov 23, 2018
crankyoldgit added a commit that referenced this pull request Nov 23, 2018
**[Features]**
- Add deep support for the Hitachi 28-Byte A/C Protocol (#563)
- Deep decoding for Whirlpool A/C (#572)
- Improve security options for IRMQTTServer example. (#575)
- Require a changed firmware password before upload. (#576)

**[Misc]**
- Add missing `}` in output of Auto analyse. (#562)
- Make A/C example code a bit more simple. (#571)
@crankyoldgit crankyoldgit deleted the whirlpool-detailed branch December 2, 2018 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants