-
Notifications
You must be signed in to change notification settings - Fork 833
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
Having trouble in Transmitting 168 Bits IR Data. #1574
Comments
Okay, you're doing several things wrong. Let me point out those first. So you would use: uint8_t state[21] = {0x83, 0x06, 0x04, 0x82, 0x00, 0x00, 0x82, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01};
irsend.sendWhirlpoolAC(state); // or
irsend.sendWhirlpoolAC(state, kWhirlpoolAcStateLength); // or
irsend.sendWhirlpoolAC(state, kWhirlpoolAcStateLength, kWhirlpoolAcDefaultRepeat);
// kWhirlpoolAcDefaultRepeat is 0.
// kWhirlpoolAcStateLength = 21
// Not: irsend.sendWhirlpoolAC(0x830604E20000821C00000000007800010000000001, 168, 2);
// i.e. `0x830604E20000821C00000000007800010000000001` is not an uint8_t array.
// It is expecting a pointer to an array of bytes, not a single massive integer.
// Plus, you're telling it the first argument is `168` bytes long via the second argument.
// Assuming you wanted to send two repeats per above (i.e. a total of three messages. Why, I don't know.)
irsend.sendWhirlpoolAC(state, 21, 2); A simple rule of thumb: If
As for why your uint16_t rawData[343] = {9204, 4512, 678, 1612, 680, 1612, 680, 478, 678, 482, 680, 486, 676, 490, 678, 494, 678, 1624, 678, 472, 678, 1616, 676, 1616, 680, 480, 678, 484, 680, 488, 678, 492, 678, 486, 678, 472, 676, 474, 678, 1618, 680, 480, 678, 486, 678, 490, 678, 494, 676, 488, 678, 472, 678, 1616, 678, 480, 678, 482, 678, 488, 676, 490, 678, 492, 680, 1624, 678, 472, 676, 474, 678, 480, 676, 482, 678, 486, 678, 490, 676, 496, 676, 488, 676, 474, 678, 476, 676, 480, 676, 484, 678, 486, 678, 490, 678, 494, 676, 462, 678, 8012, 680, 470, 678, 1614, 680, 478, 678, 482, 678, 486, 678, 488, 676, 494, 678, 1624, 678, 472, 676, 476, 678, 480, 678, 482, 678, 1626, 676, 1630, 678, 494, 678, 488, 678, 472, 676, 478, 676, 482, 676, 484, 678, 486, 676, 490, 678, 494, 678, 488, 676, 474, 676, 476, 676, 480, 676, 486, 674, 488, 676, 492, 674, 496, 676, 490, 674, 474, 676, 476, 674, 482, 674, 484, 678, 488, 662, 506, 650, 520, 672, 490, 652, 498, 674, 476, 676, 482, 674, 486, 672, 490, 676, 492, 674, 496, 674, 490, 648, 500, 674, 478, 674, 484, 650, 510, 674, 488, 674, 494, 650, 520, 650, 514, 674, 476, 672, 480, 650, 1646, 674, 486, 648, 1654, 674, 1632, 674, 498, 672, 466, 676, 8016, 662, 486, 652, 500, 674, 482, 676, 486, 676, 486, 676, 490, 676, 496, 650, 514, 650, 1638, 650, 502, 652, 504, 672, 488, 650, 512, 652, 516, 674, 496, 674, 490, 676, 476, 674, 478, 650, 506, 650, 508, 672, 492, 648, 518, 650, 520, 650, 514, 650, 500, 650, 504, 648, 508, 674, 486, 650, 514, 672, 494, 648, 520, 650, 514, 650, 500, 648, 504, 650, 508, 648, 512, 668, 498, 644, 518, 648, 522, 648, 516, 648, 500, 648, 504, 648, 508, 650, 510, 648, 516, 650, 518, 648, 522, 648, 516, 648, 1640, 648, 506, 648, 508, 650, 510, 648, 514, 648, 520, 648, 522, 648, 490, 642}; // WHIRLPOOL_AC
irsend.sendRaw(rawData, 343, 38000);
delay(2000); // Wait a couple of seconds. i.e. Don't send another IR message straight away as it might confuse the A/C. Also, read https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions#Why_is_the_raw_data_for_a_button_or_AC_state_always_different_for_each_capture for why the Also note that IRremoteESP8266/src/ir_Whirlpool.cpp Line 51 in 7e2df07
It probably does work, just not confirmed on/against a real device. |
@Suryeah How did you go? |
Thank you very much for your help.
and it did work. I am yet to try with STATE sending method. Will update about the same soon. |
Yay. You had me worried there why "raw" wasn't working. Out of curiosity, what were your "mistakes"? I'm asking so we can potentially help diagnose similar problems in future. |
I just tested with |
I'm extremely sorry for getting you worried by my mistakes.
I'll comment here if I figure out any of my other mistakes while getting my Epson to work. I really appreciate your time and effort in helping me out with this issue. Thank you very much. |
I get that. My concern is what you did wrong with
Is that the only data captured around the remote button being pressed?i.e. Anything else with in one second before or after that message/capture? This may be of help: IRremoteESP8266/src/ir_Epson.cpp Line 4 in 0d91c4c
IRremoteESP8266/src/ir_Epson.cpp Lines 42 to 44 in 0d91c4c
The above data indicates the library saw two of the messages (msg + 1 repeat) which is the minimum required to match. However, we typically expect three messages for this protocol. Lines 648 to 649 in 0d91c4c
IRremoteESP8266/src/IRremoteESP8266.h Line 1023 in 0d91c4c
That is, If the above capture data is the only data seen (with in a second or so) of the button press, try: irsend.sendEpson(0xC1AA09F6, kEpsonBits, 1); // Msg plus 1 repeat. (2 total) Also, What devices (remote and the device control) have you gotten working/tried so far. So we can add them to the supported list etc. |
Is there any thing to do with changing RawData?
Also I have observed that This happens with GREE AC also, I have provided the data captured for the same using IRDumpV2.ino Remote link : https://www.alibaba.com/product-detail/Replacement-Air-Conditioner-Remote-Control-IR_62196228121.html
I really have no Idea why the rawData[] is changing every time for same data transmission. This is observed in all remotes that deals with more than 60BIt data. |
Read the FAQ on this: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions#Why_is_the_raw_data_for_a_button_or_AC_state_always_different_for_each_capture |
What protocol(s) goes with which device(s)? Rather than links to purchase pages, can you please give us the brand & model numbers written on each device (remote & A/C) and which protocol the library is detecting it as etc. |
_v2.8.0 (20211119)_ **[Bug Fixes]** - Fix compilation issue when using old 8266 Arduino Frameworks. (#1639 #1640) - Fix potential security issue with `scrape_supported_devices.py` (#1616 #1619) **[Features]** - SAMSUNG_AC - Change `clean` setting to a toggle. (#1676 #1677) - Highest fan speed is available without Powerful setting. (#1675 #1678) - Change `beep` setting to a toggle. (#1669 #1671) - Fix Beep for AR12TXEAAWKNEU (#1668 #1669) - Add support for Horizontal Swing & Econo (#1277 #1667) - Add support for On, Off, & Sleep Timers (#1277 #1662) - Fix power control. Clean-up code & bitmaps from Checksum changes. (#1277 #1648 #1650) - HAIER_AC176/HAIER_AC_YRW02 - Add support A/B unit setting (#1672) - Add support degree Fahrenheit (#1659) - Add support `Lock` function (#1652) - Implement horizontal swing feature (#1641) - Implement Quiet setting. (#1634 #1635) - Basic support for Airton Protocol (#1670 #1681) - HAIER_AC176: Add Turbo and Quiet settings (#1634) - Gree: Add `SwingH` & `Econo` control. (#1587 #1653) - MIRAGE - Add experimental detailed support. (#1573 #1615) - Experimental detailed support for KKG29A-C1 remote. (#1573 #1660) - ELECTRA_AC: Add support for "IFeel" & Sensor settings. (#1644 #1645) - Add Russian translation (#1649) - Add Swedish translation (#1627) - Reduce flash space used. (#1633) - Strings finally in Flash! (#1493 #1614 #1623) - Add support for Rhoss Idrowall MPCV 20-30-35-40 A/C protocol (#1630) - Make `IRAc::opmodeToString()` output nicer for humans. (#1613) - TCL112AC/TEKNOPOINT: Add support for `GZ055BE1` model (#1486 #1602) - Support for Arris protocol. (#1598) - SharpAc: Allow position control of SwingV (#1590 #1594) **[Misc]** - HAIER_AC176/HAIER_AC_YRW02 - Replace some magic numbers with constants (#1679) - Small fix `Quiet` and `Turbo` test (#1674) - Fix `IRHaierAC176::getTemp()` return value description (#1663) - Security Policy creation and changes. (#1616 #1617 #1618 #1621 #1680) - IRrecvDumpV2/3: Update PlatformIO envs for missing languages (#1661) - IRMQTTServer - Use the correct string for Fan mode in Home Assistant. (#1610 #1657) - Move a lot of the strings/text to flash. (#1638) - Minor code style improvements. (#1656) - Update Supported Devices - HAIER_AC176 (#1673) - LG A/C (#1651 #1655) - Symphony (#1603 #1605) - Epson (#1574 #1601) - GREE (#1587 #1588) - SharpAc (#1590 #1591) - Add extra tests for LG2 protocol (#1654) - Fix parameter expansion in several macros. - Move some strings to `IRtext.cpp` & `locale/default.h` (#1637) - RHOSS: Move include and defines to their correct places (#1636) - Make makefile only build required files when running `run-%` target (#1632) - Update Portuguese translation (#1628) - Add possibility to run specific test case (#1625) - Change `googletest` library ignore (#1626) - Re-work "Fan Only" strings & matching. (#1610) - Address `C0209` pylint warnings. (#1608)
## _v2.8.0 (20211119)_ **[Bug Fixes]** - Fix compilation issue when using old 8266 Arduino Frameworks. (#1639 #1640) - Fix potential security issue with `scrape_supported_devices.py` (#1616 #1619) **[Features]** - SAMSUNG_AC - Change `clean` setting to a toggle. (#1676 #1677) - Highest fan speed is available without Powerful setting. (#1675 #1678) - Change `beep` setting to a toggle. (#1669 #1671) - Fix Beep for AR12TXEAAWKNEU (#1668 #1669) - Add support for Horizontal Swing & Econo (#1277 #1667) - Add support for On, Off, & Sleep Timers (#1277 #1662) - Fix power control. Clean-up code & bitmaps from Checksum changes. (#1277 #1648 #1650) - HAIER_AC176/HAIER_AC_YRW02 - Add support A/B unit setting (#1672) - Add support degree Fahrenheit (#1659) - Add support `Lock` function (#1652) - Implement horizontal swing feature (#1641) - Implement Quiet setting. (#1634 #1635) - Basic support for Airton Protocol (#1670 #1681) - HAIER_AC176: Add Turbo and Quiet settings (#1634) - Gree: Add `SwingH` & `Econo` control. (#1587 #1653) - MIRAGE - Add experimental detailed support. (#1573 #1615) - Experimental detailed support for KKG29A-C1 remote. (#1573 #1660) - ELECTRA_AC: Add support for "IFeel" & Sensor settings. (#1644 #1645) - Add Russian translation (#1649) - Add Swedish translation (#1627) - Reduce flash space used. (#1633) - Strings finally in Flash! (#1493 #1614 #1623) - Add support for Rhoss Idrowall MPCV 20-30-35-40 A/C protocol (#1630) - Make `IRAc::opmodeToString()` output nicer for humans. (#1613) - TCL112AC/TEKNOPOINT: Add support for `GZ055BE1` model (#1486 #1602) - Support for Arris protocol. (#1598) - SharpAc: Allow position control of SwingV (#1590 #1594) **[Misc]** - HAIER_AC176/HAIER_AC_YRW02 - Replace some magic numbers with constants (#1679) - Small fix `Quiet` and `Turbo` test (#1674) - Fix `IRHaierAC176::getTemp()` return value description (#1663) - Security Policy creation and changes. (#1616 #1617 #1618 #1621 #1680) - IRrecvDumpV2/3: Update PlatformIO envs for missing languages (#1661) - IRMQTTServer - Use the correct string for Fan mode in Home Assistant. (#1610 #1657) - Move a lot of the strings/text to flash. (#1638) - Minor code style improvements. (#1656) - Update Supported Devices - HAIER_AC176 (#1673) - LG A/C (#1651 #1655) - Symphony (#1603 #1605) - Epson (#1574 #1601) - GREE (#1587 #1588) - SharpAc (#1590 #1591) - Add extra tests for LG2 protocol (#1654) - Fix parameter expansion in several macros. - Move some strings to `IRtext.cpp` & `locale/default.h` (#1637) - RHOSS: Move include and defines to their correct places (#1636) - Make makefile only build required files when running `run-%` target (#1632) - Update Portuguese translation (#1628) - Add possibility to run specific test case (#1625) - Change `googletest` library ignore (#1626) - Re-work "Fan Only" strings & matching. (#1610) - Address `C0209` pylint warnings. (#1608)
FYI, the changes mentioned above have now been included in the new v2.8.0 release of the library. |
Version/revision of the library used
2.7.19
Describe the bug
IRrecvDumpV2 is detecting my Voltas AC data to be WHIRLPOOL_AC. I tried to reproduce the same received RAW data and RAW STATE data but did not get any response from AC.
To Reproduce
irsend.sendRaw(rawData, 343, 38);
Formatted data but as it frequent changes, did not help.sendWHIRLPOOL_AC(STATE);
where STATE size is 21 Bytes in my case.uint8_t state[21] = {0x83, 0x06, 0x04, 0x82, 0x00, 0x00, 0x82, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01};
irsend.sendWhirlpoolAC(0x830604E20000821C00000000007800010000000001, 168, 2);
AC did not respond.Example code used
IRsendDemo
Output of raw data from IRrecvDumpV2.ino
What brand/model IR demodulator are you using?
TSOP1836
If VS1838b: That is likely your problem. Please buy a better one & try again. Reporting a capture or decode issue when you use one of these is effectively wasting our & your time. See the FAQ
Circuit diagram and hardware used (if applicable)
ESP32 PICO available in M5 Atom Matrix.
I have followed the steps in the Troubleshooting Guide & read the FAQ
Yes
Has this library/code previously worked as expected for you?
Yes but for the 48 Bit data transmission of an older AC.
Tried to send with:
irsend.sendRaw(rawData, 197, 38);
irsend.sendGoodweather(0xD50918000000, 48, 2);
Old Ac Was responding with all of the above mentioned cases.
Other useful information
More information is always welcome. Be verbose.
I am adding legacy timing dump below.
Ac that I'm trying to control is Voltas 1.5 Ton 3 Star Inverter Split AC (Magnum 183V MZJ3, Copper Condenser, White)
Voltas 1.5 Ton 3 Star Inverter Split AC (Magnum 183V MZJ3, Copper Condenser, White)
Remote is Voltas iSmart Remote.
https://www.lknstores.com/products/voltas-ac-smart-remote-control-original-9
Expected Solution
Kindly help me with any snippet for transmitting the above mentioned IR data.
Thanks in Advance.
The text was updated successfully, but these errors were encountered: