-
Notifications
You must be signed in to change notification settings - Fork 839
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
Send hexadecimal signal with unknown protocol #1289
Comments
but they can implement a function where I only encode the bits to hex and I pass the values of the start carrier or where I tell you what percentage of the duty cycle is a 1 and what is a 0. Thanks in advance |
Again this is covered in the FAQ, have you read the suggested pages properly, or is it anything that is preventing you from doing so? Another question out of curiosity, what made you remove the contents from the issue template instead of filling it in? |
Hello again, I have read the pages you recommended and I see that apparently the hexadecimal is random if it does not have a protocol, which means that it is not possible and I have to send it by force as a raw. Am I right? |
You can NOT use the simple short hex value associated with an If you follow the wiki pages I linked, it will show you how to decode your message into an appropriate "hex code" and produce the code needed to be able to send that "hex code" for your particular remote/protocol. If you've read the documentation that was in the initial issue template, and in the wiki pages, and in the troubleshooting guide you will have seen we can't really help you without you providing the raw data. We are not magicians or mind-readers. :-) |
this is all the info he throws at me in the serial: |
I'll take a look at it shortly. In the meantime, can you tell us the brand & model numbers of both the a/c unit and the remote please? |
Well, the brand of the air conditioning is mirage model vlu series and the remote control is a universal control. The model of the control is va-cr1000u from AVALY brand. If there is another data you need I will be aware |
Looking at your supplied data, there is a very odd/unexpected values (see above in bold), this indicates a poor collection/reception issue. |
- `sendMirage()` & `decodeMirage()` - Unit tests based on modified real-world data. Note: Bit ordering not yet fixed/confirmed. Fixes #1289
Can you please download and try PR #1291 / https://github.com/crankyoldgit/IRremoteESP8266/tree/mirage_basic and let me know how you go? Please note, I suspect your hardware IR receiver has some issues. You may need to the following line:
to IRremoteESP8266/examples/IRrecvDumpV2/IRrecvDumpV2.ino Lines 130 to 131 in acb004b
e.g.
You may need to tweak that value higher, but 10% extra worked for the data you supplied. |
- Confirm User's poor data can be captured with an increased tolerance value of 10% extra. Ref #1289
I don't really know what type it is, I just know that it came with a sensor kit that I bought and it's a KY-022 module but it supports 38 khz https://cdmxelectronica.com/producto/modulo-ky-022-sensor-receptor-infrarrojo-ir/ |
I tried the library you told me about and it sent some temperature codes fine, only I realized that the hex changes and it is not always the same, but it performs the indicated action. The only thing that happened is that some commands were sent, but my weather did not recognize them and others were recognized. Maybe this is due to the fact that I did it a bit hastily, but tomorrow I will be trying it out more calmly but so far I am super impressed that it already throws the hex at me and it works. By the way, I am using the IrReciverDumpV3 and I added this line of code that you told me: |
Yes, The value should change. But again, without the data, I can't help you. |
From the images in that link, it looks like it might be one of the poorly performing/cheap IR demodulators. |
The on and off commands are the same, e.g. Protocol : MIRAGE but the temperature commands, for example 16 differs a little: Timestamp : 000279.293 Protocol : MIRAGE Timestamp : 000330.389 Protocol : MIRAGE Both are for temperature 16 |
We still want you to give us the code (the hex part) for all temperatures, from the lowest, to the highest temp, for every code include which temp it was. |
Will I get anything for sharing my codes? 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Not sure I understand the question. Thank you!, With that information, we can, as @crankyoldgit wrote, make sure that the decode is correct. Are you willing to help us, help you? (If you read the FAQ that was linked previously you should know what it takes to get this done, without your help we will not be able to get this right, and thus not help you,) |
@joelzavala Thanks for the data. It confirms we've got the bit order wrong. It was a 50:50 guess. What I don't understand is why some of your e.g. 23C, 28C, & 29C Regarding the Power on and off being the same, that is fairly common when an A/C protocol uses a "power toggle" command instead of discrete commands/settings for if the power is on or off. |
* Also update status as it has been confirmed working. Ref: #1289 (comment)
@joelzavala If you re-download it via PR #1291 / https://github.com/crankyoldgit/IRremoteESP8266/tree/mirage_basic FYI, we have now just complete this step in adding support for your remote & A/C. This is why we asked for that data. It was in one of the pages we recommended you look at originally. From here on in, it's up to you to do further analysis if you want better/detailed support for your A/C's protocol. Tips for your analysis:
|
Great, just one more thing, can I send the hexadecimal together (without having to put it in an array) and pass it directly into the function? |
If you are using the library in your own code, No. The size of the code (15 bytes) is larger than any native integer size the processor has. i.e. 64 bits is the largest (64 / 8 == 8 bytes long) You will have to do some processing of a string to convert it into any array if you want to do that yourself. However, IRMQTTServer (in the examples folder), Tasmota, & ESPeasy (I think) will let use a string of hexidecimal to send instead of an array. e.g.
& IRremoteESP8266/examples/IRMQTTServer/IRMQTTServer.ino Lines 108 to 113 in 5699271
|
- `sendMirage()` & `decodeMirage()` - Unit tests based on real-world data. - Confirmed working on real devices. Fixes #1289
Hello again. Thanks in advance |
If you mean:
Then, Yes, as it is the same. If you mean:
Then, No, as the values are different. https://lmgtfy.app/?q=how+to+convert+decimal+to+hexadecimal+in+arduino |
Hi, I have an AC prime but when I decode the signal it tells me it's coolix. I am analyzing the returned hexadecimal and I see that it has problems to recognize the data with some modes and temperatures. For example, if I set it to fan mode and turn it up, I set certain temperatures, it changes to dry and doesn't show the temperature and gives me a fan speed that it doesn't have in dry mode; Temperature 21, fan mode Protocol: COOLIX Temperature 22, fan mode (dry mode with fan speed 4 does not exist) Protocol: COOLIX I would like to know if I can decode it as prime |
Please create a new issue for this. This has nothing to do with the now closed issue. |
_v2.7.12 (20201113)_ **[Bug Fixes]** - `defaultBits()` returned incorrect result for `PANASONIC_AC` (#1307 #1314) - Fix LG2 timings and refactor `decodeLG()` (#1298 #1304) **[Features]** - Midea: Add support for "Follow Me"/Sensor, Turbo, Light, & Timers (#1318 #1327) - SharpAc: Add model support for A705 (#1309 #1313) - Add basic support for Panasonic A/C 32bit/16bit protocol. (#1307 #1316) - Add support for Elite Screens protocol. (#1306 #1310) - IRrecvDumpV2+: Add tolerance setting. (#1292) - Add basic support for the Mirage Protocol. (#1289 #1291) - Internationalisation Support - pt-BR: Add Portuguese/Brazilian support. (#1303) - de-DE: Backfill missing strings (#1294) - de-DE: update for recent addition of 'tolerance' (#1293) - de-DE: Translate root README.md into German (#1297) **[Misc]** - refactor ir_LG (#1325) - refactor ir_Kelvinator (#1317) - refactor ir_Hitachi (#1308) - refactor ir_Goodweather (#1295) - refactor ir_Electra (#1290) - refactor ir_Daikin (#1288) - Update Kaysun supported models. (#1322) - fix typos/spelling mistakes (#1301) - Add some missing Doxygen class/data-type descriptions. (#1287)
_v2.7.12 (20201113)_ **[Bug Fixes]** - `defaultBits()` returned incorrect result for `PANASONIC_AC` (#1307 #1314) - Fix `LG2` timings and refactor `decodeLG()` (#1298 #1304) **[Features]** - Midea: Add support for "Follow Me"/Sensor, Turbo, Light, & Timers (#1318 #1327) - SharpAc: Add model support for A705 (#1309 #1313) - Add basic support for Panasonic A/C 32bit/16bit protocol. (#1307 #1316) - Add support for Elite Screens protocol. (#1306 #1310) - IRrecvDumpV2+: Add tolerance setting. (#1292) - Add basic support for the Mirage Protocol. (#1289 #1291) - Internationalisation Support - `pt-BR`: Add Portuguese/Brazilian support. (#1303) - `de-DE`: Backfill missing strings (#1294) - `de-DE`: update for recent addition of 'tolerance' (#1293) - `de-DE`: Translate root README.md into German (#1297) **[Misc]** - refactor ir_LG (#1325) - refactor ir_Kelvinator (#1317) - refactor ir_Hitachi (#1308) - refactor ir_Goodweather (#1295) - refactor ir_Electra (#1290) - refactor ir_Daikin (#1288) - Update Kaysun supported models. (#1322) - fix typos/spelling mistakes (#1301) - Add some missing Doxygen class/data-type descriptions. (#1287)
FYI, the changes mentioned above have now been included in the new v2.7.12 release of the library. |
Hello everyone, I'm trying to decode the Ir signal from my air conditioning control with the IRremoteESP8266.h library and so far I've been able to send the raw signals successfully. The problem or inconvenience is that the raw data is very long (I have a data length of 244 and 122 bits for each button of the control) so I would like to know if I can pass this data to hexadecimal and send it as such.
I clarify that the library does not know the protocol of my control, but it throws me a hexadecimal that I do not know how to send it (with the library) or that it is. Also I clarify that the hexadecimal that me throws the library doesn't coincide with the that shows me IrScrutinizer
I am using the example IRrecvDumpV2 that comes in the library and I have not modified anything.
Thanks in advance.
The text was updated successfully, but these errors were encountered: