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

Voltas: Add detailed support for Voltas A/Cs #1248

Merged
merged 16 commits into from
Aug 28, 2020
Merged

Conversation

crankyoldgit
Copy link
Owner

@crankyoldgit crankyoldgit commented Aug 25, 2020

  • Add IRVoltas class to handle detailed setting support.
    • Model
    • Power
    • Mode
    • Fan Speed
    • Temperature
    • Turbo (Cool Mode only)
    • Econo (Cool Mode only)
    • Sleep (Cool Mode only)
    • Wifi
    • Light/Lamp
    • SwingV
    • SwingH (Unavailable for Model 122LZF)
    • Off Timer
    • On Timer
  • Add support for VOLTAS to Common A/C API (IRac)
  • Unit tests.
  • Tested against real received messages, and sending messages to a real device.

Fixes #1238

* Checksum support.
* Power, toString, toCommon, set/GetRaw etc.

For #1238
* Operating Modes
* Temperature
* Fan Speed
* Wifi
* Turbo
* Econo
* Light
* More `IRac` support functions.
* Unit test coverage for the above.

Note: Does not include fixed settings when changing to certain modes (yet).

For #1238
* More `IRac` support.
* Add swing H & V.
* Proper reset state.
* Set fan speed & temp for Fan & Dry modes.
* Correct fan speed values.
* Add unit tests for the `IRac` support.
* Add unit test coverage for other changes.

For #1238
* Certain bits in the first byte need to be set if we are adjusting the SwingH setting.
* Handle when we don't have knowledge of a swingh state by using the previous state (if available).

Ref: #1238 (comment)
* Fix an off-by-one error.
* Additional tests for `get/setLight`
* Uncomment disabled test in IRac_test which this change fixes.

For #1238
* Add `set/getModel()`
* Model 122LZF can't have SwingH changed, shouldn't produce an ignored message.
* Update unit tests and `IRac` accordingly.
* Add missing LG models in `strToModel()`

Ref: #1238 (comment)
* `set/getSleep()` added.
* Add & update unit tests accordingly.
* Update incorrect Doxygen comment for `sleep` in `IRac` class.
* Add routines to support setting the on & off timer(s).
* Unit tests updated.

Ref: #1238 (comment)
* Implement these restrictions.
* Add/update unit tests accordingly.

Ref #1238
* Remove incorrect assumptions about timer enable flags. e.g. `TimerEnable_4` etc.

Ref: #1238 (comment)
* Remove `getOn/OffTimerEnabled()`
* Fix Timer hour value off-by-one issue.
* Unit test cases (inc real data) for timers.
* Revert `kReset` to original value.
* Update comments.

For #1238
src/IRac.cpp Show resolved Hide resolved
@crankyoldgit crankyoldgit merged commit ea79247 into master Aug 28, 2020
crankyoldgit added a commit that referenced this pull request Aug 31, 2020
_v2.7.10 (20200831)_

**[BREAKING CHANGES]**
- move SPIFFS to LittleFS for ESP8266 (#1182 #1226)
- Daikin176: Change & increase operating mode values. (#1233 #1235)

**[Bug Fixes]**
- TOSHIBA_AC: not turning off when using `IRac` class. (#1250 #1251)
- Haier: change position of Fan speed bits. (#1246 #1247)

**[Features]**
- Voltas: Add detailed support for Voltas A/Cs (#1238 #1248)
- Add support for Metz protocol. (#1241 #1242)
- Basic support for Voltas A/C protocol (#1238 #1243)
- Add low level bit formatting sanity checks. (#1232)

**[Misc]**
- Rewrite Airwell by using bit fields (#1254)
- Rewrite Haier YRW02 using bit fields (#1253)
- rewrite Haier HSU07-HEA03 (#1246 #1247)
- rewrite ir_Gree & ir_Midea by using bit field (#1240)
- Incorrect usage of `assert()` (#1244 #1245 #1232)
- rewrite Gree (#1210)
@crankyoldgit crankyoldgit mentioned this pull request Aug 31, 2020
@crankyoldgit crankyoldgit deleted the detailed_voltas branch August 31, 2020 11:24
crankyoldgit added a commit that referenced this pull request Aug 31, 2020
## v2.7.10 release
_v2.7.10 (20200831)_

**[BREAKING CHANGES]**
- move SPIFFS to LittleFS for ESP8266 (#1182 #1226)
- Daikin176: Change & increase operating mode values. (#1233 #1235)

**[Bug Fixes]**
- TOSHIBA_AC: not turning off when using `IRac` class. (#1250 #1251)
- Haier: change position of Fan speed bits. (#1246 #1247)

**[Features]**
- Voltas: Add detailed support for Voltas A/Cs (#1238 #1248)
- Add support for Metz protocol. (#1241 #1242)
- Basic support for Voltas A/C protocol (#1238 #1243)
- Add low level bit formatting sanity checks. (#1232)

**[Misc]**
- Rewrite Airwell by using bit fields (#1254)
- Rewrite Haier YRW02 using bit fields (#1253)
- rewrite Haier HSU07-HEA03 (#1246 #1247)
- rewrite ir_Gree & ir_Midea by using bit field (#1240)
- Incorrect usage of `assert()` (#1244 #1245 #1232)
- rewrite Gree (#1210)
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.

Voltas AC Remote IR Mapping
2 participants