-
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
Daikin AC OFF not working in Daikin Remote ARC484A4 #1552
Comments
For reference, could you also give us the model number of the A/C Unit? What does IRrecvDumpV3 show as message when you use the off command? We can sure make this work, but might need some more data before we can pin-point the needed changes |
Okay, breaking this down as I go. The last byte is a checksum, so that can be ignored. That leaves the "middle" 4 bytes that are different. The second last different byte (i.e The 3rd last different byte ( The 4th last different byte is vertical swing. It's just in a different position. (e.g. And the 5th last different byte is the temperature, it too can be ignored. (e.g. So that, leaves |
FYI, you don't need to use const uint8_t remote_off[kDaikinStateLength] = {
0x11, 0xDA, 0x27, 0x00, 0xC5, 0x00, 0x10, 0xE7, 0x11, 0xDA, 0x27, 0x00, 0x42, 0x00, 0x00, 0x54,
0x11, 0xDA, 0x27, 0x00, 0x00, 0x38, 0x28, 0x00, 0xA0, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0xC1,
0x80, 0x00, 0xB9}; // (via Remote Control)
irsend.sendDaikin(remote_off, kDaikinStateLength); |
Correct me if I'm wrong but it is also possible to set the raw state to toggle the bit/byte and still have it in the class? |
@NiKiZe & @crankyoldgit : Thanks for the quick response. I stepped out for some work. Once I get back, I will check if the byte[31] behaves the same way for other commands from the remote. |
Sure will use sendDaikin going forward. |
I stepped out for some work. Once I get back, I will check the model of the AC unit, as well as the message appearing in the IRrecvDumpv3 when I press Off |
Yep, Correctl That byte, if set via I was going to suggest that as a possible workaround, but if that single bit is just some model identifier it will be an easy enhancement. (Famous last words) |
For that we would like to confirm that that bit is set in everything that the remote sends? (yes that is what you wrote) |
No. The remote does not have ant dip switch under the cover (unlike my other Daikin Remote BRC4C151 for DAIKIN176 has one, and @crankyoldgit fixed it via setId/getId.) |
@crankyoldgit : Looks like the byte[31] does not change no matter what buttons I press on the remote. I tried changing the mode/temperature/fan speed/swing/timer/turbo etc., but still byte[31] remains the same. Attaching the IR Dump data for various buttons pressed in the remote. |
15:41:13.371 -> Protocol : DAIKIN 15:41:27.686 -> 15:41:32.943 -> Protocol : DAIKIN 15:41:38.031 -> Protocol : DAIKIN 15:41:50.478 -> Protocol : DAIKIN 15:41:54.206 -> Protocol : DAIKIN 15:42:00.793 -> Protocol : DAIKIN 15:42:04.618 -> Protocol : DAIKIN 15:42:07.379 -> Protocol : DAIKIN 15:42:51.867 -> Protocol : DAIKIN 16:00:44.746 -> Protocol : DAIKIN 16:01:38.174 -> Protocol : DAIKIN 16:02:14.582 -> Protocol : DAIKIN 16:02:27.693 -> Protocol : DAIKIN 16:02:35.347 -> Protocol : DAIKIN 16:02:41.301 -> Protocol : DAIKIN 16:02:57.938 -> Protocol : DAIKIN |
Before I code something up. Can you please confirm the above actually works. i.e. It turns off the AC. Next, assuming it does work. Try: IRDaikinESP ac(your_led);
const uint8_t remote_off[kDaikinStateLength] = {
0x11, 0xDA, 0x27, 0x00, 0xC5, 0x00, 0x10, 0xE7, 0x11, 0xDA, 0x27, 0x00, 0x42, 0x00, 0x00, 0x54,
0x11, 0xDA, 0x27, 0x00, 0x00, 0x38, 0x28, 0x00, 0xA0, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0xC1,
0x80, 0x00, 0xB9}; // (via Remote Control)
ac.begin();
ac.setRaw(remote_off);
ac.setBlah(what ever controls etc);
ac.on();
ac.send();
delay(50000); // 50 seconds
ac.off();
ac.send(); That should simulate what I'm going to do to add this different "model". It should let us know if it works before I code anything up. |
* add `set/getModel()` methods to `IRDaikinESP` class. * Update `toString()` output. * Update & add unit test coverage. Fixes #1552
@rahul121190 Can you please download & test branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/ARC484A4 (PR #1553) IRremoteESP8266/test/ir_Daikin_test.cpp Lines 3925 to 3951 in 0412434
Let us know how it goes, please. |
@crankyoldgit : Thanks for the quick turnaround. I used the latest branch and I did some testing. Please find the below details. I initially used the same values given in the above test, and the On/Off works fine.
I am yet to test the other parameters like powerful, Mold, Swing etc. |
Per the wiki for adding a new AC, you'll need to document and work out the new/different fan speeds and modes. The data you collected earlier indicated fan high/4 worked. |
Ok. I will work out the different fan speeds and modes. The Dump was showing high/4 however I am not sure if it is generating the same bytes as intended by the AC. I will do a comparison between the remote and the library IR dump for different modes/fan speeds. |
Looking forward to it. |
Friendly ping/reminder to get to this this weekend if you can. |
Hi @crankyoldgit. Sorry for the delayed response. I was testing numerous things on my side. Please see the below findings.
Having said that, I think it is safe to do the below things on your end.
Kudos to your effort and timely support. |
The data that was provided here is not from the ARC484A4 remote, but actually from some other remote? |
Unfortunately Yes. I thought I bought the same remote again when the original ARC484A4 remote did not work. However it turned out to be a different model (since the protocol is different - DAIKIN280). Since the modified library was not working for most functions except the basic ones, I realized something was wrong and I fixed the Original ARC484A4 remote and it turned out to have DAIKIN216 protocol. |
Got data/captures to show this?
Yes, we have seen this sort of thing before. Usually it is an environment or hardware problem. To boost the signal, try:
|
Thanks @crankyoldgit . We were also trying some of the above steps. |
_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. |
Hi @crankyoldgit . I hope you are doing well.
I have a Daikin AC unit which uses the remote ARC484A4. The model ARC484A4 corresponds to protocol DAIKIN (280 bits/35 bytes), and hence I am using the IRDaikinESP class to send the IR signal and it works when I try to turn ON the AC. However it does not work when I try to turn OFF the AC. I have currently stored the raw value for the Off command for the remote and using the sendRaw method in IRSend to make it work.
I managed to get the IR Dump data of my remote as well as the one generated by the library file. Below are the IR data captured via IRrecvDumpV3. I see a difference of 9 bytes between the code generated by library and the remote.
AC OFF
0x11DA2700C50010E711DA27004200005411DA270000382800A0000006600000C18000B9 (via Remote Control)
0x11DA2700C50000D711DA27004200005411DA27000038340030000006600000C00000D4 (library generated)
AC ON
0x11DA2700C50010E711DA27004200005411DA270000392800A0000006600000C18000BA (via Remote Control)
0x11DA2700C50000D711DA27004200005411DA27000039340030000006600000C00000D5 (library generated)
Is there any way I can make the AC OFF to work using the library.
Thanks in Advance
The text was updated successfully, but these errors were encountered: