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

Experimental detailed support for Neoclima protocol. #767

Merged
merged 9 commits into from
Jun 28, 2019
Merged

Conversation

crankyoldgit
Copy link
Owner

@crankyoldgit crankyoldgit commented Jun 21, 2019

  • sendNeoclima() & decodeNeoclima() added.
  • IRNeoclimaAc class added with full support.
    • Self decoding works.
    • Real data works.
  • Common A/C support.
  • Example code updated for Neoclima support.
  • Minor other code cleanup.

Fixes #764

* `sendNeoclima()` & `decodeNeoclima()` added.
* Unit tests based on sample data.
  - Self decoding works.
  - Real data works.
* Minor other code cleanup.

For #764
User collected data indicates the initial guess of bit ordering was wrong.
In LSB First ordering, the temperature increase sequence is linear, thus
the change.

All previously collected data needs to have it's per-byte bit ordering reversed.
Better still, just recapture it.

FYI @AndreyShpilevoy
For #764
* set/getTemp() is the only operational setting working.
* Checksum calculations and verification added.
* Add output to IRrecvDumpV2.

- Fix a typo

For #764
* Change set/getTemp() based on new info.

For #764
* Added set/get for:
  - SwingV
  - SwingH
  - Sleep
  - Turbo
  - Button,
  - Hold
  - Ion
  - Light
  - 8CHeat
  - Eye
  - Follow
* Add Common A/C support for Neoclima A/C
* Update IRMQTTServer.
* Unit tests to cover all of the above.

Fixes #764
@crankyoldgit crankyoldgit changed the title Experimental basic support for Neoclima protocol. Experimental detailed support for Neoclima protocol. Jun 24, 2019
@crankyoldgit
Copy link
Owner Author

@AndreyShpilevoy indicates it is now all working as expected. #764 (comment)

Disabled due to not being able to determine if the value should be 0x5D 
or 0x5F
Add comments to indicate why it was disabled.
Improve getFollow() to handle known cases.
Adjust Unit tests for the above.

Ref: #764
@crankyoldgit crankyoldgit merged commit 6f41690 into master Jun 28, 2019
@crankyoldgit
Copy link
Owner Author

Merged after no review feedback.

@crankyoldgit crankyoldgit deleted the neoclima branch June 28, 2019 09:57
crankyoldgit added a commit that referenced this pull request Jul 4, 2019
_v2.6.3 (20190704)_

**[Bug Fixes]**
- IRMQTTServer: REPLAY_DECODED_AC_MESSAGE not working. (#784, #797)
- ESP32: Ensure `IRrecv`'s GPIO is set to input mode. (#774)

**[Features]**
- IRMQTTServer: Show available sketch space for OTA uploads. (#795)
- Experimental detailed support for Electra/AUX protocol (#788)
- IRMQTTServer: Ability to resend existing climate state via MQTT & HTTP (#784)
- Daikin160: Add detailed & common a/c support. (#777)
- Experimental detailed support for Neoclima protocol. (#767)
- Gree: add WiFi and IFeel bits (#770)
- Handle A/Cs with toggles better. (#758)
- IRMQTTServer: Allow sending/receiving climate via JSON over MQTT. (#763)

**[Misc]**
- Move converting of IR A/C messages out of example code. (#798)
- Reduce example code size and complexity (#790)
- Change `ControlSamsungAC` example to not use `sendExtended()` (#792)
- IRMQTTServer: Add MQTT_CLIMATE_IR_SEND_ON_RESTART compile-time flag. (#784)
- Refactor A/C's toString()'s to reduce code size. Saves ~3.5k (#782)
- Add sanity tests for unexpected conditions in IRrecv. (#773)
- IRMQTTServer: Fixed the HA config documentation (missing '-') (#776)
- Improve `mkkeywords` tool. (#766)
- Refactor with generic decode routines in `IRrecv` class. Saves ~7k. (#765)
@crankyoldgit crankyoldgit mentioned this pull request Jul 4, 2019
crankyoldgit added a commit that referenced this pull request Jul 4, 2019
## _v2.6.3 (20190704)_

**[Bug Fixes]**
- IRMQTTServer: REPLAY_DECODED_AC_MESSAGE not working. (#784, #797)
- ESP32: Ensure `IRrecv`'s GPIO is set to input mode. (#774)

**[Features]**
- IRMQTTServer: Show available sketch space for OTA uploads. (#795)
- Experimental detailed support for Electra/AUX protocol (#788)
- IRMQTTServer: Ability to resend existing climate state via MQTT & HTTP (#784)
- Daikin160: Add detailed & common a/c support. (#777)
- Experimental detailed support for Neoclima protocol. (#767)
- Gree: add WiFi and IFeel bits (#770)
- Handle A/Cs with toggles better. (#758)
- IRMQTTServer: Allow sending/receiving climate via JSON over MQTT. (#763)

**[Misc]**
- Move converting of IR A/C messages out of example code. (#798)
- Reduce example code size and complexity (#790)
- Change `ControlSamsungAC` example to not use `sendExtended()` (#792)
- IRMQTTServer: Add MQTT_CLIMATE_IR_SEND_ON_RESTART compile-time flag. (#784)
- Refactor A/C's toString()'s to reduce code size. Saves ~3.5k (#782)
- Add sanity tests for unexpected conditions in IRrecv. (#773)
- IRMQTTServer: Fixed the HA config documentation (missing '-') (#776)
- Improve `mkkeywords` tool. (#766)
- Refactor with generic decode routines in `IRrecv` class. Saves ~7k. (#765)
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.

Include AC Infrared to MQTT adapter ZH/JT-03
1 participant