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

Adding support for Sanyo AC 154bit protocol #1826

Open
MinePlugins opened this issue Jun 19, 2022 · 13 comments
Open

Adding support for Sanyo AC 154bit protocol #1826

MinePlugins opened this issue Jun 19, 2022 · 13 comments
Assignees
Labels
enhancement more info Pending Analysis The issue can't progress without further message analysis Pending Confirmation Waiting for confirmation from user

Comments

@MinePlugins
Copy link

MinePlugins commented Jun 19, 2022

Hello, I attemp to decode the IR of my remote for the A/C with Sanyo RCS-4MHVPIS4EE remote,
I created a Google Sheet like recommended and user Auto_analyse_raw_data.py:

Found 307 timing entries.
Potential Mark Candidates:
[3360, 440]
Potential Space Candidates:
[1660, 1274, 434]

Guessing encoding type:
Looks like it uses space encoding. Yay!

Guessing key value:
kHdrMark   = 3360
kHdrSpace  = 1660
kBitMark   = 419
kOneSpace  = 1261
kZeroSpace = 420

Decoding protocol based on analysis so far:

kHdrMark+kHdrSpace+00000010000000000010100000000001011101101000000101000100101101111100000011001101001101000001111011000000000000000000100000000000000000000000000011101110
  Bits: 152
  Hex:  0x02002801768144B7C0CD341EC00008000000EE (MSB first)
        0x77000000100003782CB303ED22816E80140040 (LSB first)
  Dec:  44615103636278984136397141307252716643287278 (MSB first)
        2653788678708221178456034549947135807186010176 (LSB first)
  Bin:  0b00000010000000000010100000000001011101101000000101000100101101111100000011001101001101000001111011000000000000000000100000000000000000000000000011101110 (MSB first)
        0b01110111000000000000000000000000000100000000000000000011011110000010110010110011000000111110110100100010100000010110111010000000000101000000000001000000 (LSB first)

Total Nr. of suspected bits: 152

Can I have some help or explaination for this protocole

@NiKiZe
Copy link
Collaborator

NiKiZe commented Jun 19, 2022

The faq outlines the steps.

Please post the raw data from Irdumpv2+ with the full temperature range from lowest to highest. This will get us to the first stage where the basic protocol can be implemented with the correct bit ordering.

After that comes the part of understanding each part. (Using decoded data)

(Please excuse the brevity of this post due to writing from phone)

@MinePlugins
Copy link
Author

Hi, no problem.
Here date from 16c to 30c

16c :
uint16_t rawData[307] = {3294, 1726, 420, 330, 458, 462, 382, 452, 438, 330, 456, 458, 384, 454, 384, 1312, 422, 324, 512, 336, 454, 458, 384, 450, 438, 358, 436, 464, 424, 326, 458, 476, 372, 458, 430, 328, 458, 464, 382, 1308, 424, 326, 510, 1264, 424, 268, 520, 460, 380, 460, 436, 324, 462, 400, 436, 474, 372, 456, 430, 342, 452, 450, 388, 446, 442, 1262, 422, 266, 520, 1314, 372, 1306, 424, 1258, 370, 390, 448, 1314, 372, 1310, 426, 308, 522, 338, 454, 470, 370, 454, 438, 330, 456, 468, 370, 456, 384, 464, 384, 1306, 422, 328, 460, 472, 374, 448, 442, 1258, 426, 1256, 426, 268, 520, 464, 382, 460, 430, 328, 508, 1264, 426, 262, 572, 1262, 424, 228, 604, 1262, 372, 1312, 372, 1310, 426, 1256, 422, 1258, 424, 262, 524, 418, 428, 456, 382, 1308, 372, 456, 386, 456, 382, 464, 378, 1308, 424, 360, 436, 454, 430, 344, 450, 1306, 372, 1310, 424, 326, 510, 338, 452, 456, 384, 456, 436, 328, 510, 1258, 372, 1310, 422, 338, 454, 466, 424, 328, 460, 1310, 372, 1312, 424, 1258, 450, 262, 496, 1310, 372, 1310, 426, 1260, 424, 260, 526, 442, 442, 1264, 426, 268, 520, 458, 380, 450, 386, 462, 436, 320, 518, 1256, 372, 394, 446, 398, 494, 334, 506, 326, 510, 276, 518, 460, 430, 332, 508, 326, 510, 356, 440, 448, 444, 264, 572, 336, 456, 408, 434, 454, 438, 332, 506, 336, 454, 460, 384, 448, 444, 326, 510, 332, 456, 442, 400, 456, 384, 456, 386, 452, 388, 454, 440, 326, 512, 272, 518, 450, 440, 334, 454, 458, 440, 320, 516, 268, 570, 340, 452, 468, 424, 260, 574, 336, 456, 394, 444, 458, 438, 328, 508, 1258, 370, 1312, 372, 1312, 424, 314, 468, 1312, 450, 1232, 370, 1314, 420, 324, 514}; // UNKNOWN 584FBE80

17c:
uint16_t rawData[307] = {3324, 1696, 394, 328, 484, 456, 388, 448, 392, 448, 394, 446, 390, 450, 390, 1314, 394, 386, 428, 444, 394, 456, 418, 378, 430, 452, 390, 440, 394, 450, 392, 460, 384, 444, 394, 446, 420, 396, 418, 1312, 370, 392, 448, 1314, 398, 386, 426, 444, 424, 398, 418, 444, 392, 442, 426, 396, 420, 440, 424, 396, 418, 450, 390, 444, 392, 1314, 396, 328, 484, 1314, 370, 1314, 370, 1310, 396, 378, 432, 1312, 370, 1312, 398, 324, 488, 444, 392, 454, 390, 450, 420, 390, 424, 440, 396, 452, 414, 406, 412, 1310, 396, 388, 426, 1312, 400, 398, 418, 1312, 374, 1302, 394, 336, 480, 452, 388, 450, 420, 380, 426, 1312, 396, 392, 422, 1312, 370, 444, 400, 1310, 396, 1288, 394, 1284, 394, 1282, 396, 1288, 380, 368, 464, 448, 418, 386, 426, 1316, 370, 386, 452, 458, 386, 446, 420, 1280, 396, 402, 416, 456, 418, 370, 432, 1312, 370, 1314, 396, 326, 486, 446, 392, 458, 416, 382, 428, 456, 388, 1306, 396, 1290, 370, 446, 424, 390, 422, 446, 392, 1308, 368, 1316, 396, 1286, 396, 378, 432, 1312, 370, 1314, 394, 1288, 398, 386, 426, 390, 448, 1316, 396, 332, 482, 444, 394, 450, 390, 452, 390, 450, 390, 1308, 370, 400, 442, 450, 418, 394, 420, 442, 396, 448, 420, 402, 416, 442, 394, 446, 392, 454, 418, 382, 428, 454, 418, 376, 432, 450, 390, 462, 414, 380, 428, 446, 392, 458, 384, 450, 418, 396, 420, 442, 394, 450, 420, 390, 424, 446, 418, 388, 452, 396, 418, 448, 392, 456, 388, 438, 398, 450, 392, 460, 384, 444, 426, 370, 436, 456, 418, 378, 432, 454, 418, 372, 434, 448, 418, 398, 420, 444, 394, 1310, 370, 404, 466, 390, 424, 1310, 396, 1286, 370, 1312, 396, 1288, 396, 382, 428}; // UNKNOWN D6875F4B

18c:
uint16_t rawData[307] = {3324, 1700, 388, 398, 418, 454, 390, 388, 474, 384, 452, 410, 410, 446, 394, 1312, 394, 390, 424, 446, 422, 392, 420, 448, 416, 406, 414, 442, 424, 388, 424, 456, 410, 394, 444, 396, 420, 454, 388, 1310, 396, 332, 508, 1290, 396, 334, 480, 444, 418, 392, 446, 410, 412, 440, 396, 444, 418, 404, 440, 406, 440, 390, 422, 440, 420, 1286, 394, 406, 414, 1314, 396, 1280, 396, 1286, 396, 330, 484, 1314, 396, 1280, 394, 392, 448, 408, 412, 444, 394, 446, 392, 454, 388, 458, 410, 400, 416, 444, 394, 1308, 396, 342, 478, 388, 450, 1314, 392, 1288, 396, 1284, 396, 392, 420, 454, 412, 398, 442, 392, 422, 1312, 392, 392, 450, 1286, 394, 408, 412, 1312, 396, 1286, 370, 1308, 394, 1290, 396, 1282, 368, 444, 418, 396, 446, 404, 414, 1310, 396, 378, 456, 408, 436, 394, 420, 1312, 370, 444, 420, 344, 498, 390, 422, 1312, 394, 1288, 370, 442, 420, 414, 434, 380, 430, 442, 420, 402, 442, 1288, 396, 1284, 396, 386, 450, 410, 410, 1306, 398, 1288, 394, 1282, 396, 1286, 394, 346, 474, 1312, 398, 1282, 392, 1286, 370, 446, 420, 394, 422, 1306, 394, 398, 446, 406, 412, 452, 390, 440, 420, 390, 448, 1292, 396, 386, 426, 444, 418, 398, 442, 406, 414, 450, 390, 442, 418, 400, 442, 406, 414, 446, 392, 446, 416, 394, 446, 406, 412, 454, 388, 440, 420, 396, 444, 406, 414, 448, 390, 446, 418, 396, 444, 406, 414, 450, 390, 440, 420, 396, 444, 406, 414, 446, 392, 446, 416, 396, 446, 406, 414, 452, 388, 442, 418, 396, 444, 412, 440, 388, 446, 388, 448, 396, 444, 408, 410, 452, 390, 438, 420, 398, 444, 410, 440, 378, 428, 1314, 370, 1310, 396, 1284, 394, 1290, 398, 1278, 394, 398, 442}; // UNKNOWN 333CFEC4

19c:
uint16_t rawData[307] = {3324, 1696, 370, 408, 458, 398, 446, 384, 424, 442, 416, 424, 426, 388, 450, 1286, 370, 446, 414, 400, 444, 398, 444, 390, 422, 458, 408, 394, 420, 452, 388, 460, 384, 446, 414, 402, 444, 392, 446, 1284, 392, 400, 416, 1316, 370, 396, 442, 446, 392, 448, 414, 426, 426, 386, 448, 386, 424, 458, 408, 410, 438, 388, 424, 446, 414, 1286, 394, 412, 440, 1282, 398, 1280, 394, 1286, 394, 400, 444, 1288, 370, 1306, 394, 338, 478, 460, 384, 448, 418, 386, 424, 452, 386, 462, 382, 452, 388, 446, 390, 1316, 370, 446, 392, 1312, 396, 1284, 370, 1310, 370, 1310, 396, 394, 450, 394, 420, 448, 414, 402, 446, 1282, 370, 448, 390, 1312, 370, 460, 384, 1310, 370, 1308, 394, 1290, 394, 1286, 448, 1232, 394, 334, 480, 456, 410, 422, 428, 1282, 396, 380, 428, 454, 410, 426, 426, 1284, 398, 384, 426, 446, 390, 462, 382, 1310, 396, 1284, 394, 340, 478, 450, 388, 460, 412, 384, 426, 454, 408, 1294, 370, 1308, 450, 226, 554, 400, 418, 1314, 372, 1310, 396, 1284, 392, 1290, 370, 424, 420, 1310, 450, 1228, 370, 1314, 394, 340, 506, 394, 448, 1280, 394, 342, 474, 452, 388, 448, 390, 456, 386, 452, 412, 1292, 396, 384, 428, 448, 390, 460, 382, 462, 384, 462, 406, 380, 428, 448, 414, 420, 432, 390, 446, 386, 424, 458, 408, 416, 434, 388, 450, 384, 426, 448, 414, 426, 424, 392, 444, 388, 422, 460, 382, 462, 408, 396, 446, 382, 426, 446, 416, 428, 426, 388, 446, 388, 424, 454, 410, 412, 438, 386, 452, 384, 424, 448, 414, 428, 424, 388, 444, 390, 422, 456, 410, 424, 428, 384, 452, 384, 424, 448, 414, 428, 424, 1280, 398, 1284, 392, 1290, 370, 1308, 394, 1294, 394, 1280, 370, 448, 416}; // UNKNOWN 91A3F06F

20c:
uint16_t rawData[307] = {3324, 1696, 394, 336, 478, 458, 412, 388, 422, 440, 418, 412, 440, 384, 424, 1312, 394, 386, 452, 398, 418, 458, 412, 390, 422, 456, 410, 392, 420, 454, 414, 398, 416, 448, 414, 398, 418, 456, 386, 1310, 370, 450, 414, 1292, 394, 338, 506, 380, 428, 446, 414, 418, 436, 386, 446, 390, 422, 454, 410, 416, 436, 384, 452, 384, 426, 1308, 370, 460, 384, 1314, 398, 1278, 396, 1286, 394, 394, 422, 1314, 396, 1280, 394, 340, 476, 460, 384, 450, 390, 448, 390, 460, 408, 390, 422, 450, 390, 458, 384, 1310, 370, 448, 392, 454, 388, 448, 414, 400, 438, 400, 416, 1314, 398, 374, 458, 396, 418, 468, 412, 1274, 370, 446, 416, 1288, 370, 460, 384, 1310, 398, 1284, 370, 1308, 396, 1292, 394, 1288, 396, 332, 482, 440, 418, 410, 410, 1310, 396, 342, 476, 444, 418, 398, 434, 1298, 370, 394, 444, 452, 412, 396, 420, 1316, 370, 1306, 394, 338, 478, 460, 384, 448, 390, 450, 412, 400, 416, 1316, 370, 1310, 370, 406, 438, 446, 416, 398, 418, 460, 414, 394, 414, 458, 408, 1286, 398, 1286, 396, 1280, 370, 1316, 394, 338, 478, 456, 386, 1306, 396, 340, 476, 444, 394, 454, 416, 394, 418, 448, 414, 1288, 370, 404, 466, 388, 422, 450, 414, 396, 418, 454, 386, 456, 408, 408, 412, 452, 388, 460, 414, 394, 414, 450, 414, 400, 444, 392, 420, 452, 414, 398, 418, 448, 392, 456, 386, 450, 412, 400, 442, 398, 448, 384, 426, 456, 386, 448, 416, 398, 418, 458, 412, 386, 424, 452, 412, 396, 420, 450, 390, 452, 414, 398, 418, 448, 390, 458, 394, 428, 400, 452, 412, 398, 418, 454, 388, 454, 386, 450, 414, 1292, 398, 1280, 394, 334, 480, 448, 414, 408, 412, 1312, 398, 1284, 370, 442, 420}; // UNKNOWN ED52D630

21c:
uint16_t rawData[307] = {3296, 1724, 430, 266, 572, 318, 554, 264, 578, 262, 550, 308, 530, 322, 548, 1224, 462, 248, 558, 320, 518, 328, 542, 262, 548, 314, 554, 250, 562, 320, 548, 268, 574, 262, 576, 252, 558, 316, 556, 1220, 430, 310, 558, 1228, 462, 250, 558, 318, 550, 254, 590, 250, 562, 304, 534, 316, 554, 250, 562, 324, 546, 262, 580, 250, 556, 1252, 430, 318, 552, 1222, 430, 1250, 428, 1252, 460, 250, 562, 1254, 430, 1254, 460, 248, 564, 320, 546, 252, 498, 456, 446, 312, 554, 262, 580, 264, 576, 254, 560, 1250, 428, 310, 534, 1248, 460, 256, 588, 250, 588, 252, 590, 1220, 430, 318, 552, 262, 580, 252, 560, 1250, 462, 250, 558, 1250, 430, 304, 534, 1250, 462, 1220, 428, 1254, 430, 1252, 462, 1220, 464, 248, 558, 312, 556, 250, 590, 1222, 464, 250, 588, 252, 588, 252, 558, 1250, 464, 262, 578, 250, 560, 322, 546, 1218, 462, 1222, 462, 250, 560, 308, 530, 324, 544, 262, 578, 252, 560, 1244, 370, 1310, 430, 258, 614, 262, 578, 262, 584, 260, 578, 252, 560, 320, 552, 1220, 428, 1252, 428, 1254, 430, 1250, 432, 298, 570, 252, 560, 1248, 428, 310, 560, 250, 588, 264, 576, 264, 576, 262, 580, 1222, 428, 318, 550, 258, 588, 250, 588, 264, 578, 262, 550, 306, 562, 264, 576, 252, 590, 248, 560, 318, 526, 304, 566, 252, 586, 264, 576, 252, 588, 266, 576, 262, 580, 248, 558, 320, 524, 304, 562, 266, 576, 252, 588, 250, 562, 324, 516, 320, 550, 250, 560, 318, 552, 250, 592, 264, 578, 252, 560, 304, 562, 266, 576, 250, 588, 250, 560, 320, 550, 250, 590, 264, 578, 252, 560, 306, 560, 266, 548, 1246, 370, 452, 480, 1224, 370, 450, 450, 306, 534, 1246, 464, 1218, 428, 258, 612}; // UNKNOWN DB9A0189

22c:
uint16_t rawData[307] = {3350, 1668, 430, 256, 614, 252, 586, 250, 592, 248, 562, 322, 546, 262, 578, 1224, 432, 304, 562, 250, 588, 264, 578, 250, 590, 252, 588, 250, 588, 250, 592, 252, 590, 250, 560, 306, 560, 264, 580, 1218, 464, 248, 562, 1250, 396, 394, 484, 302, 562, 250, 562, 314, 528, 304, 564, 248, 590, 252, 590, 266, 548, 320, 522, 302, 564, 1218, 434, 320, 520, 1252, 370, 1308, 464, 1218, 464, 246, 590, 1224, 370, 1304, 434, 306, 564, 264, 548, 316, 554, 250, 560, 306, 562, 264, 578, 262, 584, 242, 564, 1252, 430, 320, 548, 252, 590, 1218, 396, 404, 508, 244, 590, 1220, 432, 318, 552, 252, 560, 306, 564, 1216, 370, 452, 484, 1214, 370, 462, 446, 1246, 370, 1312, 394, 1284, 442, 1244, 370, 1306, 396, 390, 518, 248, 588, 264, 576, 1224, 396, 384, 518, 266, 576, 262, 554, 1248, 432, 304, 566, 250, 586, 250, 592, 1216, 370, 1312, 370, 448, 484, 266, 548, 302, 564, 250, 560, 318, 554, 1216, 398, 1284, 394, 388, 516, 266, 576, 262, 580, 264, 576, 262, 582, 246, 588, 1220, 396, 1288, 396, 1284, 394, 1284, 432, 312, 530, 318, 524, 1250, 434, 300, 566, 262, 576, 264, 550, 304, 566, 264, 580, 1214, 430, 316, 526, 320, 552, 264, 580, 244, 592, 250, 592, 252, 592, 246, 590, 250, 592, 250, 592, 248, 592, 250, 592, 244, 590, 252, 590, 264, 580, 250, 590, 246, 594, 248, 592, 246, 590, 264, 580, 246, 590, 250, 594, 254, 588, 246, 592, 248, 594, 248, 594, 242, 592, 252, 592, 248, 592, 248, 594, 248, 592, 244, 594, 248, 596, 246, 564, 298, 566, 250, 592, 248, 590, 250, 590, 250, 592, 246, 590, 1218, 396, 1284, 396, 1286, 462, 248, 590, 264, 546, 1254, 396, 1286, 396, 388, 492}; // UNKNOWN 306EF424

23c:
uint16_t rawData[307] = {3324, 1694, 398, 388, 426, 458, 414, 382, 452, 386, 452, 402, 444, 386, 426, 1312, 398, 384, 454, 392, 448, 400, 444, 384, 452, 400, 448, 386, 420, 452, 390, 454, 416, 386, 454, 386, 424, 458, 384, 1312, 398, 386, 452, 1290, 394, 394, 446, 388, 452, 382, 426, 468, 410, 384, 448, 388, 422, 460, 416, 394, 446, 394, 420, 446, 392, 1308, 396, 410, 440, 1282, 398, 1280, 396, 1284, 412, 362, 470, 1282, 396, 1280, 398, 384, 426, 464, 410, 380, 428, 448, 418, 390, 450, 402, 442, 392, 424, 440, 422, 1288, 370, 452, 388, 1310, 396, 1284, 370, 396, 444, 450, 390, 1316, 394, 328, 512, 384, 432, 450, 390, 1306, 396, 390, 452, 1280, 396, 406, 442, 1278, 396, 1286, 398, 1282, 398, 1288, 370, 1316, 400, 382, 450, 380, 456, 400, 446, 1278, 372, 408, 464, 396, 440, 394, 422, 1312, 370, 448, 420, 388, 450, 390, 422, 1316, 372, 1306, 400, 378, 458, 400, 442, 384, 426, 450, 416, 396, 450, 1284, 368, 1310, 372, 398, 474, 378, 458, 388, 424, 456, 386, 448, 390, 460, 414, 1278, 370, 1314, 398, 1280, 400, 1284, 370, 398, 470, 398, 418, 1306, 370, 410, 462, 380, 428, 452, 388, 458, 414, 382, 454, 1282, 370, 460, 414, 394, 442, 392, 450, 386, 424, 452, 414, 396, 450, 398, 440, 390, 426, 450, 416, 384, 452, 396, 448, 394, 418, 452, 388, 446, 420, 386, 450, 404, 440, 388, 450, 388, 450, 394, 450, 394, 420, 454, 416, 392, 444, 392, 450, 398, 444, 386, 424, 450, 418, 386, 450, 418, 430, 388, 452, 380, 452, 398, 480, 326, 454, 448, 390, 450, 418, 402, 440, 410, 430, 394, 444, 384, 426, 456, 414, 1284, 370, 458, 414, 386, 452, 1284, 396, 388, 450, 1284, 396, 1288, 400, 382, 490}; // UNKNOWN 6DD8742A

24c:
uint16_t rawData[307] = {3326, 1694, 398, 338, 474, 458, 384, 452, 390, 448, 390, 448, 390, 452, 390, 1312, 370, 436, 402, 444, 394, 458, 384, 454, 386, 454, 388, 438, 398, 448, 392, 460, 384, 446, 392, 446, 420, 398, 418, 1312, 396, 394, 422, 1314, 396, 392, 420, 444, 394, 460, 384, 446, 394, 440, 396, 466, 408, 382, 428, 454, 388, 448, 390, 446, 394, 1312, 398, 386, 426, 1314, 370, 1308, 396, 1286, 396, 328, 486, 1316, 394, 1288, 370, 390, 450, 446, 392, 446, 390, 462, 382, 458, 386, 440, 394, 450, 390, 462, 384, 1308, 396, 388, 452, 396, 422, 440, 398, 1310, 394, 326, 484, 1312, 370, 452, 390, 450, 390, 446, 392, 1312, 370, 442, 404, 1310, 396, 322, 514, 1282, 396, 1288, 398, 1280, 396, 1288, 372, 1304, 396, 348, 500, 398, 446, 378, 430, 1310, 370, 446, 398, 448, 390, 446, 394, 1312, 400, 378, 430, 454, 388, 444, 392, 1312, 370, 1314, 394, 348, 502, 382, 426, 442, 394, 464, 382, 438, 398, 1310, 398, 1284, 372, 396, 446, 448, 392, 1308, 400, 386, 426, 450, 390, 456, 388, 1306, 370, 1314, 396, 1286, 398, 1280, 398, 370, 440, 456, 386, 1308, 396, 394, 422, 438, 396, 452, 388, 458, 386, 444, 394, 1308, 370, 398, 444, 446, 394, 450, 390, 446, 390, 452, 388, 454, 388, 450, 388, 448, 390, 454, 388, 450, 390, 452, 390, 446, 392, 450, 390, 454, 388, 450, 390, 444, 392, 458, 386, 450, 392, 448, 390, 446, 392, 450, 390, 450, 392, 450, 390, 444, 394, 456, 386, 450, 390, 450, 390, 444, 394, 450, 390, 452, 390, 450, 390, 448, 392, 456, 388, 450, 390, 448, 392, 446, 392, 450, 390, 452, 390, 450, 390, 448, 390, 458, 384, 1316, 396, 1286, 394, 384, 428, 1312, 394, 1290, 394, 330, 484}; // UNKNOWN 41DEDE56

25c:
uint16_t rawData[307] = {3324, 1696, 396, 330, 508, 404, 444, 396, 414, 452, 388, 448, 390, 452, 388, 1314, 370, 434, 404, 446, 392, 458, 384, 454, 412, 398, 418, 444, 418, 396, 450, 392, 420, 448, 390, 448, 390, 460, 414, 1280, 396, 394, 448, 1288, 396, 396, 450, 376, 430, 462, 408, 388, 424, 440, 394, 466, 380, 440, 396, 456, 386, 456, 412, 386, 424, 1314, 398, 386, 452, 1286, 370, 1308, 396, 1286, 396, 388, 430, 1310, 400, 1282, 394, 330, 484, 450, 420, 380, 454, 406, 440, 392, 420, 446, 390, 454, 386, 460, 386, 1308, 396, 390, 448, 1286, 394, 394, 420, 1312, 396, 386, 426, 1314, 396, 386, 426, 460, 384, 450, 414, 1282, 370, 460, 384, 1312, 396, 378, 434, 1310, 396, 1288, 396, 1290, 370, 1306, 396, 1288, 394, 338, 478, 450, 392, 444, 394, 1310, 398, 398, 418, 446, 390, 452, 418, 1282, 396, 392, 422, 450, 390, 448, 390, 1316, 394, 1288, 398, 384, 426, 448, 390, 448, 390, 460, 382, 460, 412, 1278, 370, 1310, 396, 418, 430, 384, 426, 1310, 398, 394, 450, 382, 426, 450, 390, 1314, 398, 1280, 396, 1286, 396, 1282, 398, 388, 452, 400, 444, 1280, 370, 452, 388, 448, 390, 452, 388, 458, 384, 452, 388, 1314, 394, 384, 428, 466, 410, 388, 444, 404, 444, 384, 424, 448, 390, 462, 384, 448, 390, 446, 416, 410, 410, 444, 402, 436, 424, 392, 446, 390, 420, 462, 382, 450, 388, 456, 408, 420, 428, 378, 428, 456, 388, 454, 412, 386, 424, 462, 384, 448, 388, 446, 390, 476, 398, 394, 414, 458, 412, 394, 448, 384, 426, 462, 382, 452, 416, 376, 458, 406, 440, 380, 428, 458, 384, 454, 386, 446, 392, 462, 410, 386, 424, 1308, 398, 1286, 396, 1286, 396, 382, 454, 1286, 370, 1314, 394, 408, 414}; // UNKNOWN CAE85651

26c:
uint16_t rawData[307] = {3324, 1696, 394, 400, 416, 458, 384, 450, 388, 466, 370, 462, 382, 454, 386, 1312, 370, 450, 388, 454, 416, 400, 412, 396, 442, 400, 442, 446, 392, 454, 386, 460, 382, 450, 414, 396, 418, 404, 438, 1310, 394, 398, 420, 1314, 370, 392, 448, 444, 392, 454, 386, 466, 380, 448, 392, 382, 452, 460, 382, 410, 434, 446, 394, 444, 390, 1310, 370, 458, 386, 1314, 370, 1308, 400, 1280, 372, 390, 448, 1316, 396, 1278, 398, 392, 422, 422, 452, 346, 462, 394, 472, 396, 418, 462, 412, 386, 424, 444, 390, 1316, 370, 450, 388, 458, 386, 1306, 370, 1312, 394, 400, 416, 1316, 384, 414, 406, 450, 388, 414, 464, 1278, 370, 448, 390, 1312, 394, 282, 568, 1276, 396, 1286, 396, 1284, 400, 1284, 396, 1286, 396, 390, 422, 446, 390, 410, 436, 1310, 400, 390, 422, 448, 388, 456, 386, 1314, 370, 326, 512, 332, 506, 452, 390, 1316, 370, 1306, 398, 392, 418, 464, 382, 446, 392, 390, 448, 452, 390, 1314, 396, 1284, 392, 410, 410, 450, 388, 1312, 398, 392, 422, 448, 390, 402, 438, 1316, 396, 1284, 368, 1308, 396, 1288, 400, 380, 428, 460, 408, 1284, 368, 454, 412, 394, 420, 456, 386, 452, 386, 452, 388, 1316, 396, 384, 428, 448, 414, 404, 440, 406, 438, 394, 420, 444, 392, 448, 388, 470, 378, 442, 394, 392, 446, 462, 380, 464, 380, 452, 388, 386, 450, 450, 388, 468, 380, 444, 392, 448, 392, 458, 412, 404, 412, 456, 384, 444, 392, 450, 416, 448, 368, 444, 392, 448, 390, 460, 384, 458, 384, 452, 388, 442, 394, 446, 392, 466, 380, 384, 454, 448, 390, 462, 380, 462, 382, 396, 444, 384, 452, 398, 440, 464, 382, 448, 416, 386, 424, 464, 378, 1314, 398, 1282, 398, 1284, 394, 388, 424}; // UNKNOWN DA9BD266

27c:
uint16_t rawData[307] = {3324, 1696, 396, 388, 450, 404, 442, 382, 428, 450, 390, 448, 390, 452, 388, 1312, 398, 384, 428, 448, 418, 396, 418, 450, 390, 454, 390, 440, 394, 452, 388, 460, 384, 448, 392, 448, 390, 458, 384, 1310, 398, 394, 448, 1284, 396, 340, 508, 386, 418, 462, 384, 446, 390, 442, 396, 464, 382, 440, 396, 458, 384, 456, 414, 378, 430, 1312, 398, 388, 424, 1314, 398, 1280, 396, 1284, 398, 386, 426, 1316, 398, 1284, 396, 386, 426, 444, 392, 448, 390, 464, 382, 458, 384, 442, 394, 452, 388, 462, 382, 1310, 396, 378, 434, 1312, 396, 1286, 396, 1284, 398, 398, 448, 1278, 396, 408, 440, 380, 430, 446, 390, 1314, 396, 394, 422, 1310, 396, 380, 430, 1312, 400, 1282, 398, 1286, 396, 1284, 398, 1284, 396, 388, 424, 456, 388, 442, 394, 1310, 396, 402, 444, 390, 422, 448, 390, 1312, 370, 466, 404, 388, 424, 456, 386, 1310, 370, 1312, 394, 396, 418, 450, 416, 402, 442, 390, 422, 452, 388, 1306, 370, 1310, 396, 396, 422, 446, 392, 1314, 396, 382, 426, 468, 380, 444, 392, 1312, 394, 1286, 396, 1288, 396, 1282, 396, 390, 450, 400, 444, 1286, 370, 382, 456, 452, 388, 450, 388, 390, 448, 462, 408, 1282, 400, 380, 458, 396, 418, 458, 386, 442, 392, 452, 388, 460, 384, 448, 390, 450, 416, 386, 424, 462, 384, 448, 392, 442, 394, 454, 386, 462, 384, 442, 394, 448, 390, 448, 388, 464, 382, 458, 384, 444, 392, 452, 388, 462, 382, 448, 390, 448, 390, 448, 390, 460, 386, 456, 386, 444, 392, 454, 388, 464, 408, 386, 424, 448, 390, 450, 388, 462, 382, 460, 384, 442, 394, 450, 390, 462, 382, 448, 392, 448, 390, 1314, 394, 396, 420, 448, 392, 1308, 370, 1312, 394, 1288, 396, 404, 414}; // UNKNOWN B0630A5F

28c:
uint16_t rawData[307] = {3402, 1616, 396, 408, 488, 398, 424, 412, 368, 468, 368, 486, 432, 410, 434, 1236, 368, 470, 368, 482, 434, 406, 432, 402, 366, 474, 368, 468, 438, 406, 444, 396, 368, 470, 368, 470, 442, 410, 432, 1238, 368, 474, 368, 1310, 440, 402, 448, 394, 368, 472, 366, 482, 430, 406, 442, 396, 368, 474, 368, 470, 442, 400, 444, 398, 366, 1308, 368, 472, 442, 1242, 444, 1238, 370, 1312, 368, 472, 440, 1238, 434, 1248, 370, 462, 378, 482, 432, 402, 444, 404, 356, 472, 368, 472, 440, 402, 448, 392, 368, 1316, 370, 472, 436, 402, 444, 400, 366, 468, 368, 1314, 408, 1276, 440, 400, 368, 472, 368, 482, 426, 1244, 440, 400, 368, 1312, 370, 470, 440, 1246, 442, 1238, 370, 1310, 390, 1290, 436, 1246, 442, 398, 368, 472, 368, 472, 436, 1250, 404, 434, 366, 478, 366, 472, 436, 1240, 440, 406, 366, 474, 368, 454, 422, 1274, 438, 1244, 368, 470, 368, 470, 444, 412, 428, 398, 368, 474, 368, 1310, 442, 1242, 438, 402, 366, 478, 366, 472, 440, 1236, 438, 408, 366, 466, 376, 1308, 402, 1278, 370, 1312, 370, 1316, 370, 460, 454, 406, 426, 1246, 370, 474, 368, 480, 426, 404, 444, 400, 366, 470, 368, 1312, 436, 408, 442, 394, 368, 472, 368, 472, 436, 406, 442, 396, 368, 472, 370, 470, 442, 402, 442, 394, 368, 472, 368, 480, 398, 444, 430, 402, 368, 460, 380, 482, 426, 410, 440, 396, 368, 472, 368, 482, 430, 402, 442, 398, 368, 472, 368, 462, 458, 394, 442, 398, 368, 472, 368, 472, 438, 404, 444, 396, 368, 458, 382, 406, 508, 410, 430, 400, 368, 460, 380, 480, 426, 406, 442, 396, 368, 408, 432, 404, 502, 1246, 432, 1246, 370, 462, 378, 480, 398, 1278, 444, 1238, 370, 458, 380}; // UNKNOWN D7F0D925

29c:
uint16_t rawData[307] = {3400, 1620, 440, 402, 424, 418, 424, 414, 450, 398, 438, 404, 372, 468, 414, 1258, 476, 372, 442, 390, 422, 420, 422, 416, 448, 404, 436, 400, 412, 418, 368, 486, 440, 398, 440, 400, 356, 476, 368, 1310, 474, 376, 440, 1236, 424, 416, 424, 414, 448, 400, 438, 408, 356, 468, 368, 472, 450, 400, 438, 408, 356, 472, 368, 480, 438, 1230, 446, 410, 356, 1314, 426, 1254, 476, 1204, 476, 362, 424, 1260, 430, 1248, 476, 374, 440, 406, 356, 470, 388, 454, 450, 400, 440, 404, 356, 472, 368, 480, 438, 1236, 450, 402, 356, 1312, 368, 472, 450, 404, 438, 1228, 424, 1260, 426, 414, 448, 400, 436, 410, 356, 1308, 424, 416, 450, 1232, 476, 366, 370, 1310, 426, 1258, 474, 1204, 444, 1240, 426, 1260, 424, 414, 448, 400, 438, 404, 356, 1310, 426, 420, 450, 398, 438, 400, 356, 1316, 368, 472, 450, 400, 438, 402, 356, 1318, 424, 1250, 476, 374, 438, 408, 356, 470, 368, 482, 440, 400, 438, 1234, 424, 1254, 426, 420, 450, 400, 436, 402, 356, 1314, 370, 470, 450, 402, 436, 1236, 424, 1256, 424, 1254, 476, 1208, 476, 360, 370, 474, 368, 1310, 438, 404, 450, 388, 366, 474, 368, 484, 440, 402, 438, 1234, 370, 468, 368, 482, 440, 402, 436, 408, 356, 472, 368, 478, 440, 398, 438, 410, 356, 468, 368, 472, 450, 404, 436, 398, 366, 472, 368, 480, 438, 400, 440, 408, 356, 468, 368, 482, 438, 404, 438, 406, 356, 472, 368, 470, 450, 400, 438, 406, 356, 468, 368, 482, 438, 404, 438, 406, 356, 472, 368, 478, 440, 400, 438, 410, 356, 478, 358, 482, 438, 404, 436, 408, 358, 472, 368, 468, 438, 412, 440, 406, 356, 468, 368, 482, 440, 1230, 448, 408, 356, 1312, 368, 1314, 474, 372, 440}; // UNKNOWN 9A072D38

30c:
uint16_t rawData[307] = {3372, 1646, 394, 410, 442, 440, 400, 448, 358, 466, 368, 486, 398, 442, 396, 1276, 368, 470, 368, 482, 398, 432, 434, 408, 366, 476, 368, 468, 402, 448, 394, 438, 368, 470, 368, 472, 406, 442, 398, 1274, 368, 472, 368, 1308, 370, 482, 396, 436, 368, 468, 394, 448, 408, 444, 392, 436, 368, 476, 366, 468, 370, 482, 426, 410, 366, 1308, 370, 470, 370, 1312, 406, 1278, 368, 1312, 368, 472, 434, 1242, 406, 1276, 370, 472, 368, 472, 434, 418, 396, 434, 368, 472, 368, 470, 368, 472, 440, 402, 368, 1314, 370, 480, 422, 406, 444, 1238, 368, 476, 368, 1308, 370, 1310, 444, 400, 368, 468, 368, 474, 446, 1238, 440, 400, 368, 1312, 370, 476, 438, 1240, 434, 1250, 368, 1310, 368, 1312, 436, 1246, 406, 440, 368, 466, 370, 476, 444, 1234, 440, 406, 366, 470, 368, 482, 428, 1244, 436, 404, 366, 472, 368, 472, 440, 1236, 370, 1312, 368, 474, 368, 472, 440, 404, 440, 398, 368, 482, 358, 1316, 436, 1242, 408, 436, 368, 468, 370, 472, 406, 1278, 434, 408, 366, 472, 368, 1308, 436, 1246, 408, 1274, 370, 1314, 368, 482, 396, 432, 436, 1244, 370, 474, 368, 470, 370, 470, 408, 444, 358, 474, 368, 1310, 402, 440, 370, 470, 368, 474, 368, 480, 392, 446, 398, 448, 356, 468, 370, 472, 404, 448, 360, 470, 368, 472, 368, 470, 370, 482, 396, 436, 368, 472, 366, 470, 406, 446, 360, 468, 368, 472, 370, 458, 380, 480, 396, 438, 366, 456, 380, 472, 404, 450, 360, 468, 368, 476, 366, 480, 360, 482, 360, 472, 370, 468, 368, 472, 406, 446, 360, 468, 368, 474, 368, 468, 368, 472, 370, 484, 358, 480, 358, 470, 372, 1312, 370, 470, 368, 1312, 368, 414, 430, 1310, 406, 1274, 370, 472, 370}; // UNKNOWN 9CF61D56

crankyoldgit added a commit that referenced this issue Jun 22, 2022
* LSBF order determined by sequencing a temperature range.
* add `sendSanyoAc152()` & `decodeSanyoAc152()` routines
* Fix some comments.
* Unit test coverage added for new protocol.
* Update supported devices info.

For #1826
@crankyoldgit
Copy link
Owner

Thanks for the temperature sequence. With that, I've determined it is in LSBF bit order.
Please download and test branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/SanyoAc152Basic / PR #1828
It should detect and send the protocol now. Fingers crossed. Please let us know how it goes.

As the bit ordering has changed, you'll need to recapture everything again and do your analysis.
e.g. You're now up to here: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#analysing-the-data except that I've worked out the bit ordering for you already.

Btw. Your IR receiver module, circuit, or environment is not very good. The signals you captured above are fairly poor quality. ie. the length of pulses and gaps varies a LOT.

@crankyoldgit crankyoldgit self-assigned this Jun 22, 2022
@crankyoldgit crankyoldgit added enhancement more info Pending Confirmation Waiting for confirmation from user labels Jun 22, 2022
@MinePlugins
Copy link
Author

Hello,

I have updated the first sheets with new value and started to decode the logic

Thanks you :)

@crankyoldgit
Copy link
Owner

I have updated the first sheets with new value and started to decode the logic

So it's working?

Also, can you supply the make & model number of the actual AC unit please.

@MinePlugins
Copy link
Author

Yes ! It's working perfectly

The manufacturer is Sanyo and the model number is : sap-kmrv124ehe

crankyoldgit added a commit that referenced this issue Jun 24, 2022
* LSBF order determined by sequencing a temperature range.
* add `sendSanyoAc152()` & `decodeSanyoAc152()` routines
* Fix some comments.
* Unit test coverage added for new protocol.
* Update supported devices info.

For #1826
@MinePlugins
Copy link
Author

What can I do now, I have attempted to reverse a little but I thinks I'm blocked on TIMER on remote.

I will attempt to implement this in cpp

@crankyoldgit crankyoldgit added the Pending Analysis The issue can't progress without further message analysis label Jul 7, 2022
@MinePlugins
Copy link
Author

Hello, what can I do now to help for decoding data ?

@crankyoldgit
Copy link
Owner

Do you need the Timer functionality? Normally that's a low priority as you can use a computer/service to turn on/off a device when needed. etc.

@MinePlugins
Copy link
Author

Non I don't need timer functionality.

crankyoldgit added a commit that referenced this issue Sep 15, 2022
_v2.8.3 (20220915)_

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
crankyoldgit added a commit that referenced this issue Sep 16, 2022
**_v2.8.3 (20220915)_**

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit
Copy link
Owner

FYI, the changes mentioned above have now been included in the new v2.8.3 release of the library.

@martin3000
Copy link

I do not understand how to use it. There is a class IRSanyoAc with "send()" and a class IRsend with sendSanyoAc152(). How does this belong together? If I make IRSanyoAc.setTemp(26), how to do a sendSanyoAc152()?

@crankyoldgit
Copy link
Owner

The IRSanyoAc class is for the 72 bit Sanyo A/C protocol (SANYO_AC). Not the 152 bit (SANYO_AC152) protocol.

There is no "detailed" support yet for the SANYO_AC152 protocol.

In short, you can't use the IRSanyoAc class to generate sendSanyoAc152() messages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement more info Pending Analysis The issue can't progress without further message analysis Pending Confirmation Waiting for confirmation from user
Projects
None yet
Development

No branches or pull requests

4 participants