-
Notifications
You must be signed in to change notification settings - Fork 836
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_AC_YRW02 remote doubt #1480
Comments
Have you got the Brand & Model number for the A/C unit and the remote you're using please? A quick look the using the
i.e. A 112 bit / 14 byte message. Where as your supplied message is:
i.e. A 176 bit / 22 byte message. It's a fair bit bigger, thus it isn't the same protocol. Looking at it's structure, it is very similar to Creating a simple/basic sender/decoder (i.e. to an array of bytes) will be trivial. See: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-IR-protocol However, fine/detailed control of the settings will require significant leg work from you! e.g. https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol |
* Add `sendHaierAC176()` & `decodeHaierAC176()` * Additional changes to support the new protocol. * Unit test coverage for send and decode. * Add housekeeping tests for Haier family * Minor code cleanup in the unit tests. For #1480
@beckmx Can you please download and test the branch Based on the data you supplied, the library should now identify, decode, & send your messages in a basic form. i.e. you're now up to: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#create-a-spreadsheet |
The model is MMI18HDBWCA6MI8, the brand is mabe, and the remote control doesnt have any marks, only inside the battery has this:V12843 HJ200223, here is a picture https://cdn1.coppel.com/images/catalog/pm/6448383-5.jpg. I will give it a try to the branch, give me a couple of minutes |
Ok, so I tested it, it is now picking up the model from the new code, just some time, let's say 1 out of 4 the bits seems to be different when using 15ms:
If I change it to 50ms looks to be correctly picked up everytime |
I extracted this behaviour, I can see now some pattern, I am actively reading your documentation as well, I dont know if it should decode the temperature, but at least is giving me the protocol:
Do you happen to have an example of extracting the temperature from a captured message? I havent found one yet |
You might want to read the documentation for what is needed to get this correct. After that the documentation in the wiki has details for what needs to be done to figure out which parts of the message is for what function etc. |
@NiKiZe ok, following your suggestion, I am attaching captures from cool, heat and off
|
Thank you, raw data is needed if you get unknown protocol. Otherwise it's not. What we also want to know is if you can use this data to re-send, and have the AC react? |
Ok, I tried with the https://github.com/crankyoldgit/IRremoteESP8266/blob/master/examples/IRsendDemo/IRsendDemo.ino example and both data arrays the raw and the state can be sent, the state was sent with this: And worked, but my guess is that the decoding phase is not running, because I tried to use: Greetings! |
Thanks for confirming it works.
You can't call |
Hello, yes i realized that afterwards, but i did notice the decode phase is
not running, i tried also to see if the state could be read but wasnt lucky
in the decode side --
*Web Architect | Neoris*
Innovation over knowledge
|
If you read/follow the documentation (See https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#example-analysis) you'll easily find the temperature. It's in So we have the bit ordering correct, and you've now identified the temperature. You now need to work out (per wiki) what the rest of the bits do etc and be able to explain any changes in the any of the bytes of the When you have that ready, we can code up detailed support for your A/C. |
You are probably not using it correctly. Try following the recv examples in https://github.com/crankyoldgit/IRremoteESP8266/tree/master/examples |
Confirmed working in: #1480 (comment) & #1480 (comment)
* Add `sendHaierAC176()` & `decodeHaierAC176()` * Additional changes to support the new protocol. * Unit test coverage for send and decode. * Add housekeeping tests for Haier family * Minor code clean-up in the unit tests. For #1480
@crankyoldgit hello, thanx for the suggestion, I am still actively reading the docs and examples, so, it's just a matter of time to see some results, btw these were the decode procedures I tried to use:
And this one:
thanx for ur input :), much appreciated |
I sent a PR, sorry for the dirty code :( |
The reason that code didn't work was because we don't have detailed support for this protocol yet. Re: your PR. |
from the tests I have made and following ur docs, it seems to be compatible I will continue to see if additional bytes do something else, I am closing the thread, if you agree |
It probably is very similar, however as the checksum is located at the very end of the 22 bytes, the class you're re-using only handles 14 bytes, and calculates/expected the checksum at the end of those 14 bytes. e.g. The other class will only produce a 14 byte message, not the 22 byte messages you've been capturing. |
_v2.7.19 (20210706)_ **[Bug Fixes]** - Illegal Heap write in rawbuf when the capture has overflowed. (#1516 #1517) - PANASONIC_AC: Fix Low and High fan speeds (#1515) - Fix MDNS in IRServer and IRMQTTServer example code (#1498 #1499) - IRac: Fix off-by-one error in Coolix's sleep setting. (#1500) - Fix undefined constant (#1490) **[Features]** - Add detailed support for Kelon ACs (#1494) - Experimental basic support for Teknopoint A/C protocol (#1486 #1504) - Daikin64: Add support for Heat mode (#1492) - Basic support for `HAIER_AC176` 176 bit protocol. (#1480 #1481) **[Misc]** - GREE: Update inter-message gap timing (#1508 #1509) - IRac: Change Coolix to send special messages after a normal message. (#1501 #1502) - Fix compiler warnings causing Travis failures. (#1491) - Update supported model info (#1477 #1485 #1488 #1489) - Add HTML viewport meta tag to IRServer and IRMQTTServer examples (#1467 #1469)
* Regenerate Doxygen documentation * v2.7.19 release _v2.7.19 (20210706)_ **[Bug Fixes]** - Illegal Heap write in rawbuf when the capture has overflowed. (#1516 #1517) - PANASONIC_AC: Fix Low and High fan speeds (#1515) - Fix MDNS in IRServer and IRMQTTServer example code (#1498 #1499) - IRac: Fix off-by-one error in Coolix's sleep setting. (#1500) - Fix undefined constant (#1490) **[Features]** - Add detailed support for Kelon ACs (#1494) - Experimental basic support for Teknopoint A/C protocol (#1486 #1504) - Daikin64: Add support for Heat mode (#1492) - Basic support for `HAIER_AC176` 176 bit protocol. (#1480 #1481) **[Misc]** - GREE: Update inter-message gap timing (#1508 #1509) - IRac: Change Coolix to send special messages after a normal message. (#1501 #1502) - Fix compiler warnings causing Travis failures. (#1491) - Update supported model info (#1477 #1485 #1488 #1489) - Add HTML viewport meta tag to IRServer and IRMQTTServer examples (#1467 #1469)
@instalator I think I've got the Either of @instalator or @beckmx, if it is the swing byte/nibble, what does a value of Now, on to @instalator 's data regarding |
* `IRHaierACYRW02` inherits from the new `IRHaierAC176`. - Except for a few functions that need to be special. * Add it to the Common A/C API (`IRac`) * Expand & update the unit tests. Not fully happy with the support yet. Fixes #1480
Can you both please download/test branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/Haier176_detailed and let me know how it goes? e.g. Some of the issues I've listed above need to be clarified/tested/checked etc. That branch should add detailed support for |
Ping @beckmx & @instalator |
Have either of you tried that branch and have some feedback? |
I have no way of checking. I no longer have a device. |
@instalator No worries. Thanks for getting back to us, |
Hi. i create a little spreadsheet with captured IR data https://docs.google.com/spreadsheets/d/1wdOVS08wgK2pEP7hTZLYMmrQ9FZVmLpZF2HjNQaVxlU/edit?usp=sharing |
@Andrey-m Have you tried downloading and using the branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/Haier176_detailed It should have some detailed support branch. |
@crankyoldgit Yes. //Timer for 30 min (ON) Protocol : HAIER_AC176 //Disable Timer Protocol : HAIER_AC176 |
Correct. It's early stages at the moment. We are trying to confirm what is there is currently working. The timer details have not yet been fully analysed yet, as they are a much lower priority. If you have them fully worked out, I can add support for them. |
* `IRHaierACYRW02` inherits from the new `IRHaierAC176`. - Except for a few functions that need to be special. * Add it to the Common A/C API (`IRac`) * Expand & update the unit tests. Not fully happy with the support yet. Fixes #1480
* Add `[sg]et(On|Off)Timer()` class methods. * Update `toString()`. * Add timer specific unit tests. * Update existing Unit Tests. For #1480
The latest update to the branch should add preliminary Timer detection/setting etc. Please download and test it, and let me know how it goes. |
* `IRHaierACYRW02` inherits from the new `IRHaierAC176`. - Except for a few functions that need to be special. * Add it to the Common A/C API (`IRac`) * Expand & update the unit tests. Not fully happy with the support yet. Fixes #1480
* Add `[sg]et(On|Off)Timer()` class methods. * Update `toString()`. * Add timer specific unit tests. * Update existing Unit Tests. For #1480
The latest update to the branch should add Timer & Timer Mode detection/setting etc. Please download and test it, and let me know how it goes. |
I quickly checked. All OK! |
* `IRHaierACYRW02` inherits from the new `IRHaierAC176`. - Except for a few functions that need to be special. * Add `[sg]et(On|Off)Timer()` & `[sg]etTimerMode()` class methods. * Update `toString()`. * Add timer specific unit tests. * Update existing Unit Tests. * Add it to the Common A/C API (`IRac`) * Expand & update the unit tests. Fixes #1480
Thanks for confirming. It's now been merged. |
_v2.7.20 (20210828)_ **[Bug Fixes]** - Make `strToSwingH()` match "Right Max" (#1550 #1551) **[Features]** - Experimental Bose remote support (#1579) - Added MitsubishiAC VaneLeft (#1572 #1576) - HAIER_AC176: Add experimental detailed support (#1480 #1571) - Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503 #1568) - Add support for new `TROTEC_3550` A/C protocol (#1563 #1566 #1507) - SamsungAc: Use `sendExtended()` going forward. (#1484 #1562) - SamsungAc: Redo/fix checksum calculations. (#1538 #1554) - LG: Add support for `AKB73757604` model (#1531 #1545) - Daikin176: Add support for Unit Id. (#1543 #1544) - Daikin2: Add support for Humidity setting/operation. (#1535 #1540) - TCL112AC: Add support for quiet/mute setting. (#1528 #1529) - LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513 #1530) - Add Mitsubishi AC "fan only" mode (#1527) **[Misc]** - Fix pylint issues due to pylint update. (#1569 #1570) - DAIKIN216: Update supported models. (#1552 #1567) - IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513 #1541) - Reduce memory fragmentation cause by String usage. (#1493 #1536) - Refactor `decodeMitsubishiAC()` (#1523 #1532) - Fix incorrect comment. - Migrate from Travis to GitHub Actions (#1522 #1526) - Documentation update with additional supported Panasonic AC models (#1525)
_v2.7.20 (20210828)_ **[Bug Fixes]** - Make `strToSwingH()` match "Right Max" (#1550 #1551) **[Features]** - Experimental Bose remote support (#1579) - Added MitsubishiAC VaneLeft (#1572 #1576) - HAIER_AC176: Add experimental detailed support (#1480 #1571) - Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503 #1568) - Add support for new `TROTEC_3550` A/C protocol (#1563 #1566 #1507) - SamsungAc: Use `sendExtended()` going forward. (#1484 #1562) - SamsungAc: Redo/fix checksum calculations. (#1538 #1554) - LG: Add support for `AKB73757604` model (#1531 #1545) - Daikin176: Add support for Unit Id. (#1543 #1544) - Daikin2: Add support for Humidity setting/operation. (#1535 #1540) - TCL112AC: Add support for quiet/mute setting. (#1528 #1529) - LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513 #1530) - Add Mitsubishi AC "fan only" mode (#1527) **[Misc]** - Change when some github workflows run (#1583) - Add/update supported device info (#1580 #1581 #1585) - Fix pylint issues due to pylint update. (#1569 #1570) - DAIKIN216: Update supported models. (#1552 #1567) - IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513 #1541) - Reduce memory fragmentation cause by String usage. (#1493 #1536) - Refactor `decodeMitsubishiAC()` (#1523 #1532) - Fix incorrect comment. - Migrate from Travis to GitHub Actions (#1522 #1526) - Documentation update with additional supported Panasonic AC models (#1525)
## _v2.7.20 (20210828)_ **[Bug Fixes]** - Make `strToSwingH()` match "Right Max" (#1550 #1551) **[Features]** - Experimental Bose remote support (#1579) - Added MitsubishiAC VaneLeft (#1572 #1576) - HAIER_AC176: Add experimental detailed support (#1480 #1571) - Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503 #1568) - Add support for new `TROTEC_3550` A/C protocol (#1563 #1566 #1507) - SamsungAc: Use `sendExtended()` going forward. (#1484 #1562) - SamsungAc: Redo/fix checksum calculations. (#1538 #1554) - LG: Add support for `AKB73757604` model (#1531 #1545) - Daikin176: Add support for Unit Id. (#1543 #1544) - Daikin2: Add support for Humidity setting/operation. (#1535 #1540) - TCL112AC: Add support for quiet/mute setting. (#1528 #1529) - LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513 #1530) - Add Mitsubishi AC "fan only" mode (#1527) **[Misc]** - Change when some github workflows run (#1583) - Add/update supported device info (#1580 #1581 #1585) - Fix pylint issues due to pylint update. (#1569 #1570) - DAIKIN216: Update supported models. (#1552 #1567) - IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513 #1541) - Reduce memory fragmentation cause by String usage. (#1493 #1536) - Refactor `decodeMitsubishiAC()` (#1523 #1532) - Fix incorrect comment. - Migrate from Travis to GitHub Actions (#1522 #1526) - Documentation update with additional supported Panasonic AC models (#1525)
FYI, the changes mentioned above have been included in the just released v2.7.20 of the library. |
Version/revision of the library used
2.7.19
Describe the bug
I have a minisplit, which with this library uses the HAIER_AC_YRW02 codec, I was trying to scan the remote control just to see if I could sync the code, but realized that for some reason, the dump is not able to recognize the control, it is able to recognize other codecs but this in particular looks like is not picking it up
To Reproduce
What steps did you do, and what did or didn't actually happen? How can we reproduce the issue?
the dump message is the next one:
ABFAD961
Protocol : UNKNOWN
Code : 0xABFAD961 (179 Bits)
F18F7905
Protocol : UNKNOWN
Code : 0xF18F7905 (179 Bits)
Example code used
The setup details for the readings:
In the loop
Expected behaviour
Using the dump code,
Output of raw data from [IRrecvDumpV2.ino]IRrecvDump is now running and waiting for IR input on Pin 5
Timestamp : 000010.962
Library : v2.7.18
Protocol : UNKNOWN
Code : 0xABFAD961 (179 Bits)
uint16_t rawData[357] = {3096, 2948, 3048, 4388, 588, 1610, 614, 498, 586, 1612, 612, 500, 612, 500, 586, 1610, 588, 1612, 612, 502, 586, 1612, 612, 500, 612, 500, 614, 500, 612, 498, 586, 1610, 586, 1612, 612, 502, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 504, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 502, 614, 498, 586, 1612, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 502, 586, 1612, 612, 500, 586, 1610, 612, 500, 612, 498, 612, 500, 614, 478, 634, 502, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 498, 614, 504, 612, 500, 614, 500, 586, 1612, 612, 500, 612, 500, 612, 500, 612, 500, 612, 502, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 612, 504, 614, 500, 612, 500, 612, 498, 614, 500, 612, 500, 612, 500, 612, 500, 612, 482, 632, 500, 612, 502, 610, 500, 614, 500, 612, 500, 612, 500, 612, 480, 632, 504, 612, 480, 632, 500, 612, 500, 612, 480, 632, 500, 612, 500, 612, 500, 612, 502, 612, 500, 612, 500, 612, 500, 612, 500, 612, 500, 586, 1612, 612, 500, 586, 1616, 612, 500, 612, 500, 586, 1610, 588, 1612, 612, 502, 612, 500, 614, 498, 586, 1614, 586, 1612, 612, 500, 586, 1610, 586, 1592, 632, 498, 586, 1610, 588, 1610, 586, 1614, 614, 500, 612, 480, 632, 500, 612, 500, 612, 500, 612, 500, 614, 498, 612, 500, 614, 500, 614, 500, 612, 500, 612, 500, 614, 498, 614, 498, 614, 500, 612, 504, 612, 500, 612, 500, 612, 500, 612, 498, 612, 502, 612, 500, 614, 498, 612, 502, 612, 500, 612, 498, 614, 500, 612, 500, 612, 500, 612, 500, 612, 500, 614, 502, 612, 500, 614, 478, 634, 498, 614, 500, 612, 500, 612, 500, 612, 500, 612, 482, 634, 500, 612, 500, 612, 500, 612, 500, 614, 498, 614, 500, 612, 480, 632, 502, 586, 1610, 614, 478, 608, 1610, 588, 1610, 612, 498, 586, 1610, 588, 1610, 586, 1606, 612}; // UNKNOWN ABFAD961
What brand/model IR demodulator are you using?
Using the sender the model is HAIER_AC_YRW02
Has this library/code previously worked as expected for you?
Not yet
The text was updated successfully, but these errors were encountered: