Senville Heat Pump remote decoding - Page 1
Forum section: electronics / projects

author: kevinateev
author_rank: Regular Contributor
timestamp: October 21, 2018, 06:40:54 pm
content: So, I'd gotten the oscilloscope out, and probed and hacked this thing ... looking for a serial port and whilst there is the programming header on the main internal board, just didn't want to go there.So, what does it have? Senville AURA Heat Pump, all sizes, I'm working with a 2015 model, has one-wire signal for the remote IR between 5V and GND for input, and for output, it has, a data line, three select lines, and a clock pulse to a 74HC164 that is wired to a set of LEDs, and two digit 7-segment display. Decoding the output is a TODO task.For input, the IR signal has been decoded BUT the CRC, I have just not gotten anywhere with decoding this!Here is a link to the GitHub project. If you've been wanting to do this, you're welcome. Enjoy! Think you can figure out this CRC?https://github.com/kpishere/GetRawIRData

author: abyrvalg
author_rank: Frequent Contributor
timestamp: October 23, 2018, 07:38:20 am
content: A better approach would be to post packet samples right so people see them and try guessing the CRC right here instead of following the github link, loosing time there finding no samples finally (that’s what I did a minute ago).

author: kevinateev
author_rank: Regular Contributor
timestamp: October 23, 2018, 11:05:08 am
content: A very good point, thank-you! Was not thinking of the CRC puzzle fans out there.Since getting organized and publishing, and getting to taking apart the actual remote, I did managed to get there somewhere too. Senville AURA is same tech as Panasonic (for some Inverter models) and MrCool amongst others. They all use remote type RG57A6/BGEFU1 which sports a Sino Wealth SH77p 1652U OTP microprocessor in it.I went back to basics and tried a simple CRC XOR sum operation and ... it looks so close! There seems to be some exit operation between the nibbles of the CRC byte that is missing. Reduce high nibble by 1 and add 1 to low nibble but not in all cases.As requested .. here is some output- first five bytes are the data- sixth byte is the CRC- CRC is represented a second type in bits- Other side of =?= is the XOR calculation showing hex and bitsA1 0B 4A FF FF DA 11011010 =?= E0 1110 0A1 8B 4A FF FF 5A 01011010 =?= 60 110 0A1 8C 5E FF FF 4B 01001011 =?= 73 111 11A1 82 4A FF FF 57 01010111 =?= 69 110 1001A1 88 4A FF FF 58 01011000 =?= 63 110 11A1 81 4A FF FF 55 01010101 =?= 6A 110 1010A1 8B 4A FF FF 5A 01011010 =?= 60 110 0 5EA1 8C 5E FF FF 4B 01001011 =?= 73 111 11A1 94 5E FF FF 5B 01011011 =?= 6B 110 1011A1 9C 5E FF FF 53 01010011 =?= 63 110 11A1 A4 5E FF FF 7B 01111011 =?= 5B 101 1011A1 8C 5E FF FF 4B 01001011 =?= 73 111 11A1 82 4B FF FF 56 01010110 =?= 68 110 1000A1 82 49 FF FF 55 01010101 =?= 6A 110 1010A1 82 48 FF FF 54 01010100 =?= 6B 110 1011A1 82 47 FF FF 5A 01011010 =?= 64 110 100A1 82 46 FF FF 5B 01011011 =?= 65 110 101A1 82 45 FF FF 59 01011001 =?= 66 110 110A1 82 44 FF FF 58 01011000 =?= 67 110 111A1 82 43 FF FF 5E 01011110 =?= 60 110 0A1 82 42 FF FF 5F 01011111 =?= 61 110 1A1 82 41 FF FF 5D 01011101 =?= 62 110 10A1 82 40 FF FF 5C 01011100 =?= 63 110 11

author: abyrvalg
author_rank: Frequent Contributor
timestamp: October 24, 2018, 09:46:49 pm
content: This looks like some Hamming-style code - parity bits over different combinations of source bits.Changes it bit 0 of source bytes affect only bit 0 of the result, but changes in bit 1 change both 1 and 0.Are you sure that all bits are decoded 100% correctly? There are several odd mismatches that can be either some unknown properties of the code or just some bits decoded incorrectly:Code:A1 81 1000 0001 4A 0100 1010 FF FF 55 0101 0101A1 82 1000 0010 4A 0100 1010 FF FF 57 0101 0111 ..!.A1 88 1000 1000 4A 0100 1010 FF FF 58 0101 1000 !!!! <-A1 8B 1000 1011 4A 0100 1010 FF FF 5A 0101 1010 ..!.A1 82 1000 0010 41 0100 0001 FF FF 5D 0101 1101A1 82 1000 0010 42 0100 0010 FF FF 5F 0101 1111 ..!.A1 82 1000 0010 48 0100 1000 FF FF 54 0101 0100 !.!! <- not the same effect!A1 82 1000 0010 4B 0100 1011 FF FF 56 0101 0110 ..!.

author: kevinateev
author_rank: Regular Contributor
timestamp: October 26, 2018, 11:39:28 am
content: The two lines you have with the <- mark are different commands. Yes, I have decoded it all. They are correct as indented. Hadn't seen the Hamming Code before, will have to try that one too. Here is some more samples with comments as to their meaning,HVAC_SENVILLE_HDR_MARK 4000 // micro-secondsHVAC_SENVILLE_HDR_SPACE 4000HVAC_SENVILLE_BIT_MARK 600HVAC_SENVILLE_ONE_SPACE 1725HVAC_SENVILLE_ZERO_SPACE 600HVAC_SENVILLE_END_SPACE 5350        [byte5-crc] - // power on/off *-------1 06910296 17 10100001 10000010 01000000 11111111 11111111 01011100 - ON0 04803412 17 10100001 00000010 01000000 11111111 11111111 11011100 - OFF// Increment Temp from lowest 17 to highest 30 ----****0 3003292 17 10100001 10000010 01000000 11111111 11111111 01011100 - 171 10310684 18 10100001 10000010 01000001 11111111 11111111 01011101 - 182 13818056 19 10100001 10000010 01000010 11111111 11111111 01011111 - 193 17225328 20 10100001 10000010 01000011 11111111 11111111 01011110 - 204 20332528 21 10100001 10000010 01000100 11111111 11111111 01011000 - 215 22839720 22 10100001 10000010 01000101 11111111 11111111 01011001 - 226 24646628 23 10100001 10000010 01000110 11111111 11111111 01011011 - 237 26153500 24 10100001 10000010 01000111 11111111 11111111 01011010 - 248 10631148 25 10100001 10000010 01001000 11111111 11111111 01010100 - 259 11638012 26 10100001 10000010 01001001 11111111 11111111 01010101 - 2610 12645072 27 10100001 10000010 01001010 11111111 11111111 01010111 - 2711 13652188 28 10100001 10000010 01001011 11111111 11111111 01010110 - 2812 14659164 29 10100001 10000010 01001100 11111111 11111111 01010000 - 2913 15866028 30 10100001 10000010 01001101 11111111 11111111 01010001 - 30// Cycle thru modes —-*—-*** ---*****11 2685841552 30 10100001 10100000 01001101 11111111 11111111 01100011 - cool12 2692851428 30 10100001 10000001 01001101 11111111 11111111 01010010 - dry15 2703580384 30 10100001 10000010 01001101 11111111 11111111 01010001 - auto13 2697061116 30 10100001 10100011 01001101 11111111 11111111 01100000 - heat14 2700670756 31 10100001 10100100 01011110 11111111 11111111 01111011 - fan// Fan mode fan speed —-***---0 03703360 31 10100001 10100100 01011110 11111111 11111111 01111011 - fan auto1 10610844 31 10100001 10001100 01011110 11111111 11111111 01001011 - fan 02 18718484 31 10100001 10010100 01011110 11111111 11111111 01011011 - fan 13 23825952 31 10100001 10011100 01011110 11111111 11111111 01010011 - fan 2// sleep-*------43 863116028 17 10100001 11000010 01000000 11111111 11111111 00011100 - auto sleep28 597669864 17 10100001 11100000 01000000 11111111 11111111 00101110 - cool sleep38 775270360 17 10100001 11100011 01000000 11111111 11111111 00101101 - heat sleep// (all modes) direct------** ---*****117 1441268992 32 10100010 00000001 11111111 11111111 11111111 01111100 - direct// (all modes) swing------** ---*****114 1434044184 32 10100010 00000010 11111111 11111111 11111111 01111110 - swing// (all modes) led------** ---*****138 1650090392 32 10100010 00001000 11111111 11111111 11111111 01110101 - led// turbo------** ---*****65 1067407716 32 10100010 00001001 11111111 11111111 11111111 01110100 - auto|cool turbo// selfclean------** ---*****75 1232410896 32 10100010 00001101 11111111 11111111 11111111 01110000 - auto|cool|dry self clean// silence------** ---*****0 10303780 32 10100010 00010011 11111111 11111111 11111111 1101111 - silence off (cool)1 69415080 32 10100010 00010010 11111111 11111111 11111111 1101110 - silence on (cool)// follow me **------ ---*****5 41454816 21 10100100 10100000 01000100 00111111 start 00011000 24 00000101 set16 489383820 21 10100100 10100000 01000100 01111111 update 00011000 24 01111001 follow me updates on temp17 667304848 21 10100100 10100000 01000100 01111111 update 00010111 23 01110011 "18 845325888 21 10100100 10100000 01000100 01111111 update 00010111 23 01110011 "19 1023346920 21 10100100 10100000 01000100 01111111 update 00010111 23 01110011 "20 1201467940 21 10100100 10100000 01000100 01111111 update 00010111 23 01110011 "6 43361516 21 10100100 10100000 01000100 11111111 stop 00011000 24 10111001 unset// On timer *------- -******-1 09610788 17 10100001 10000010 01000000 11111111 10000001 00011101 - .52 15818216 17 10100001 10000010 01000000 11111111 10000011 00011110 = 13 20225188 17 10100001 10000010 01000000 11111111 10000101 00011001 - 1.54 22932360 17 10100001 10000010 01000000 11111111 10000111 00011010 - 25 25639396 17 10100001 10000010 01000000 11111111 10001001 00010101 - 2.56 28146436 17 10100001 10000010 01000000 11111111 10001011 00010110 - 37 30253516 17 10100001 10000010 01000000 11111111 10001101 00010001 - 3.58 32260628 17 10100001 10000010 01000000 11111111 10001111 00010010 - 49 34467688 17 10100001 10000010 01000000 11111111 10010001 00001101 - 4.510 36474672 17 10100001 10000010 01000000 11111111 10010011 00001110 - 511 38381468 17 10100001 10000010 01000000 11111111 10010101 00001001 - 5.512 40288292 17 10100001 10000010 01000000 11111111 10010111 00001010 - 613 42995156 17 10100001 10000010 01000000 11111111 10011001 00000101 - 6.514 44802128 17 10100001 10000010 01000000 11111111 10011011 00000110 - 715 46809028 17 10100001 10000010 01000000 11111111 10011101 00000001 - 7.516 49015860 17 10100001 10000010 01000000 11111111 10011111 00000010 - 817 50922796 17 10100001 10000010 01000000 11111111 10100001 00101101 - 8.518 52929892 17 10100001 10000010 01000000 11111111 10100011 00101110 - 919 54836980 17 10100001 10000010 01000000 11111111 10100101 00101001 - 9.520 56744184 17 10100001 10000010 01000000 11111111 10100111 00101010 — 1021 58751340 17 10100001 10000010 01000000 11111111 10101011 00100110 - 1122 60858484 17 10100001 10000010 01000000 11111111 10101111 00100010 - 1223 62865396 17 10100001 10000010 01000000 11111111 10110011 00110110 - 1324 64772304 17 10100001 10000010 01000000 11111111 10110111 00110010 - 1425 66779220 17 10100001 10000010 01000000 11111111 10111011 00111010 - 1526 68686336 17 10100001 10000010 01000000 11111111 10111111 00111100 - 1627 70493424 17 10100001 10000010 01000000 11111111 11000011 01101110 - 1728 72200828 17 10100001 10000010 01000000 11111111 11000111 01101010 - 1829 74008244 17 10100001 10000010 01000000 11111111 11001011 01100110 - 1930 75815696 17 10100001 10000010 01000000 11111111 11001111 01100010 - 2031 77523104 17 10100001 10000010 01000000 11111111 11010011 01110110 - 2132 79230448 17 10100001 10000010 01000000 11111111 11010111 01110010 - 2233 80937880 17 10100001 10000010 01000000 11111111 11011011 01111010 - 2334 82645276 17 10100001 10000010 01000000 11111111 11011111 01111100 - 2435 84352668 17 10100001 00000010 01000000 11111111 11111111 11011100 - 0 (off)// Off timer -******-0 04403372 17 10100001 10000010 01000000 10000001 11111111 00011101 - .51 09510552 17 10100001 10000010 01000000 10000011 11111111 00011110 - 12 11517508 17 10100001 10000010 01000000 10000101 11111111 00011001 - 1.53 13424328 17 10100001 10000010 01000000 10000111 11111111 00011010 -4 15331156 17 10100001 10000010 01000000 10001001 11111111 000101015 17138192 17 10100001 10000010 01000000 10001011 11111111 000101106 18945296 17 10100001 10000010 01000000 10001101 11111111 000100017 20652096 17 10100001 10000010 01000000 10001111 11111111 000100108 22258892 17 10100001 10000010 01000000 10010001 11111111 000011019 23865808 17 10100001 10000010 01000000 10010011 11111111 0000111010 25472708 17 10100001 10000010 01000000 10010101 11111111 0000100111 27179712 17 10100001 10000010 01000000 10010111 11111111 0000101012 28786676 17 10100001 10000010 01000000 10011001 11111111 0000010113 30393684 17 10100001 10000010 01000000 10011011 11111111 0000011014 32000560 17 10100001 10000010 01000000 10011101 11111111 0000000115 33607404 17 10100001 10000010 01000000 10011111 11111111 0000001016 35214372 17 10100001 10000010 01000000 10100001 11111111 0010110117 36821432 17 10100001 10000010 01000000 10100011 11111111 0010111018 38428472 17 10100001 10000010 01000000 10100101 11111111 0010100119 40035580 17 10100001 10000010 01000000 10100111 11111111 0010101020 41642640 17 10100001 10000010 01000000 10101011 11111111 0010011021 43249776 17 10100001 10000010 01000000 10101111 11111111 0010001022 44856904 17 10100001 10000010 01000000 10110011 11111111 0011011023 46464108 17 10100001 10000010 01000000 10110111 11111111 0011001024 48071156 17 10100001 10000010 01000000 10111011 11111111 0011101025 49678188 17 10100001 10000010 01000000 10111111 11111111 0011110026 51285372 17 10100001 10000010 01000000 11000011 11111111 0110111027 52892736 17 10100001 10000010 01000000 11000111 11111111 0110101028 54400116 17 10100001 10000010 01000000 11001011 11111111 0110011029 56007536 17 10100001 10000010 01000000 11001111 11111111 0110001030 57614940 17 10100001 10000010 01000000 11010011 11111111 0111011031 59122276 17 10100001 10000010 01000000 11010111 11111111 0111001032 60729672 17 10100001 10000010 01000000 11011011 11111111 0111101033 62337060 17 10100001 10000010 01000000 11011111 11111111 01111100 - 2434 63744396 17 10100001 10000010 01000000 11111111 11111111 01011100 - 0 (off)

author: kevinateev
author_rank: Regular Contributor
timestamp: October 28, 2018, 01:14:48 am
content: Ah! Racked my brain on this one all day. Close but not quite.I'm thinking the Hermming Code doesn't quite add up as the CRC code is 7 bits for sure and there are max 40 bits of data. There may be only 36 bits of data if you remove the first 4.Anyhow, massaged code and implemented bit interpretation ....And here is a very good reference, it starts slow, builds foundation, and covers all the common CRCs.https://faculty.etsu.edu/tarnoff/ntes2150/Ch9_v02.pdfStarted.Started.0xA1 82 47 FF FF 0x5A 0b10100001 10000010 01000111 11111111 11111111 0b01011010 =?= 00110111{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:24}0xA1 82 46 FF FF 0x5B 0b10100001 10000010 01000110 11111111 11111111 0b01011011 =?= 00111000{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:23}0xA1 82 45 FF FF 0x59 0b10100001 10000010 01000101 11111111 11111111 0b01011001 =?= 00111001{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:22}0xA1 82 44 FF FF 0x58 0b10100001 10000010 01000100 11111111 11111111 0b01011000 =?= 00111010{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:21}0xA1 82 43 FF FF 0x5E 0b10100001 10000010 01000011 11111111 11111111 0b01011110 =?= 00111011{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:20}0xA1 82 42 FF FF 0x5F 0b10100001 10000010 01000010 11111111 11111111 0b01011111 =?= 00111100{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:19}0xA1 98 42 FF FF 0x44 0b10100001 10011000 01000010 11111111 11111111 0b01000100 =?= 00100110{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:19}0xA1 98 43 FF FF 0x45 0b10100001 10011000 01000011 11111111 11111111 0b01000101 =?= 00100101{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:20}0xA1 98 44 FF FF 0x42 0b10100001 10011000 01000100 11111111 11111111 0b01000010 =?= 00100100{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:21}0xA1 98 45 FF FF 0x43 0b10100001 10011000 01000101 11111111 11111111 0b01000011 =?= 00100011{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:22}0xA1 98 47 FF FF 0x41 0b10100001 10011000 01000111 11111111 11111111 0b01000001 =?= 00100001{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:24}0xA1 98 48 FF FF 0x4A 0b10100001 10011000 01001000 11111111 11111111 0b01001010 =?= 00100000{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:25}0xA1 98 49 FF FF 0x4B 0b10100001 10011000 01001001 11111111 11111111 0b01001011 =?= 00011111{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:26}0xA1 98 4A FF FF 0x48 0b10100001 10011000 01001010 11111111 11111111 0b01001000 =?= 00011110{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:27}0xA1 98 4B FF FF 0x49 0b10100001 10011000 01001011 11111111 11111111 0b01001001 =?= 00011101{IsOn:1, Instr:1, Mode:0, FanSpeed:3, IsSleepOn:0, SetTemp:28}0xA1 81 49 FF FF 0x56 0b10100001 10000001 01001001 11111111 11111111 0b01010110 =?= 00110110{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:26}0xA1 81 48 FF FF 0x57 0b10100001 10000001 01001000 11111111 11111111 0b01010111 =?= 00110111{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:25}0xA1 81 47 FF FF 0x58 0b10100001 10000001 01000111 11111111 11111111 0b01011000 =?= 00111000{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:24}0xA1 81 46 FF FF 0x59 0b10100001 10000001 01000110 11111111 11111111 0b01011001 =?= 00111001{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:23}0xA1 81 45 FF FF 0x5A 0b10100001 10000001 01000101 11111111 11111111 0b01011010 =?= 00111010{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:22}0xA1 81 44 FF FF 0x5B 0b10100001 10000001 01000100 11111111 11111111 0b01011011 =?= 00111011{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:21}0xA1 81 43 FF FF 0x5C 0b10100001 10000001 01000011 11111111 11111111 0b01011100 =?= 00111100{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:20}0xA1 81 42 FF FF 0x5D 0b10100001 10000001 01000010 11111111 11111111 0b01011101 =?= 00111101{IsOn:1, Instr:1, Mode:1, FanSpeed:0, IsSleepOn:0, SetTemp:19}0xA1 9B 42 FF FF 0x46 0b10100001 10011011 01000010 11111111 11111111 0b01000110 =?= 00100011{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:19}0xA1 9B 43 FF FF 0x47 0b10100001 10011011 01000011 11111111 11111111 0b01000111 =?= 00100010{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:20}0xA1 9B 44 FF FF 0x41 0b10100001 10011011 01000100 11111111 11111111 0b01000001 =?= 00100001{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:21}0xA1 9B 45 FF FF 0x40 0b10100001 10011011 01000101 11111111 11111111 0b01000000 =?= 00100000{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:22}0xA1 9B 46 FF FF 0x42 0b10100001 10011011 01000110 11111111 11111111 0b01000010 =?= 00011111{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:23}0xA1 9B 47 FF FF 0x43 0b10100001 10011011 01000111 11111111 11111111 0b01000011 =?= 00011110{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:24}0xA1 9B 48 FF FF 0x49 0b10100001 10011011 01001000 11111111 11111111 0b01001001 =?= 00011101{IsOn:1, Instr:1, Mode:3, FanSpeed:3, IsSleepOn:0, SetTemp:25}0xA1 E3 48 FF FF 0x25 0b10100001 11100011 01001000 11111111 11111111 0b00100101 =?= 11010101{IsOn:1, Instr:1, Mode:3, FanSpeed:0, IsSleepOn:1, SetTemp:25}0xA1 E3 47 FF FF 0x2B 0b10100001 11100011 01000111 11111111 11111111 0b00101011 =?= 11010110{IsOn:1, Instr:1, Mode:3, FanSpeed:0, IsSleepOn:1, SetTemp:24}0xA1 E3 46 FF FF 0x2A 0b10100001 11100011 01000110 11111111 11111111 0b00101010 =?= 11010111{IsOn:1, Instr:1, Mode:3, FanSpeed:0, IsSleepOn:1, SetTemp:23}0xA1 E3 45 FF FF 0x28 0b10100001 11100011 01000101 11111111 11111111 0b00101000 =?= 11011000{IsOn:1, Instr:1, Mode:3, FanSpeed:0, IsSleepOn:1, SetTemp:22}0xA1 A4 5E FF FF 0x7B 0b10100001 10100100 01011110 11111111 11111111 0b01111011 =?= 11111110{IsOn:1, Instr:1, Mode:4, FanSpeed:0, IsSleepOn:0, SetTemp:31}0xA1 94 5E FF FF 0x5B 0b10100001 10010100 01011110 11111111 11111111 0b01011011 =?= 00001110{IsOn:1, Instr:1, Mode:4, FanSpeed:2, IsSleepOn:0, SetTemp:31}0xA1 9C 5E FF FF 0x53 0b10100001 10011100 01011110 11111111 11111111 0b01010011 =?= 00000110{IsOn:1, Instr:1, Mode:4, FanSpeed:3, IsSleepOn:0, SetTemp:31}0xA1 A4 5E FF FF 0x7B 0b10100001 10100100 01011110 11111111 11111111 0b01111011 =?= 11111110{IsOn:1, Instr:1, Mode:4, FanSpeed:0, IsSleepOn:0, SetTemp:31}0xA1 82 45 FF FF 0x59 0b10100001 10000010 01000101 11111111 11111111 0b01011001 =?= 00111001{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:0, SetTemp:22}0xA1 C2 45 FF FF 0x19 0b10100001 11000010 01000101 11111111 11111111 0b00011001 =?= 11111001{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:1, SetTemp:22}0xA1 C2 44 FF FF 0x18 0b10100001 11000010 01000100 11111111 11111111 0b00011000 =?= 11111010{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:1, SetTemp:21}0xA1 C2 43 FF FF 0x1E 0b10100001 11000010 01000011 11111111 11111111 0b00011110 =?= 11111011{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:1, SetTemp:20}0xA1 C2 41 FF FF 0x1D 0b10100001 11000010 01000001 11111111 11111111 0b00011101 =?= 11111101{IsOn:1, Instr:1, Mode:2, FanSpeed:0, IsSleepOn:1, SetTemp:18}