arduino-heatpumpir
arduino-heatpumpir copied to clipboard
Old Panasonic AC - I can read the remote, now what?
I’ve got an old Panasonic AC which isn’t currently supported. I’m hoping to add it. The remote is A75C2624
I’ve built the circuit and can read the codes from the remote… but I’m stuck here. It’s showing ‘Unknown Protocol’ but I appear to get sensible output (ie. Symbols/headers aren’t random or repeating) when running for Panasonic CKP - but I really don't know what I'm looking for here.
How do I move from this point to a situation where the information is useable and able to be written in as a working module?
The output is similar to this (this was for on/off button press, twice - so one ought to be 'on' the other ought to be 'off'). It seems mostly repeatable in the 'bytes' area, but the timings change each time.
################# Start
Number of symbols: 115
Symbols:
Hh10011111100111110100000001000000Hh10011111100111110100000001000000HhWHh0001001h000h011000100110110110001101100Hh
Bytes:
00: 1001|1111 | F9 | 11111001
01: 1001|1111 | F9 | 11111001
02: 0100|0000 | 02 | 00000010
03: 0100|0000 | 02 | 00000010
04: 1001|1111 | F9 | 11111001
05: 1001|1111 | F9 | 11111001
06: 0100|0000 | 02 | 00000010
07: 0100|0000 | 02 | 00000010
08: 0001|00108: 00008: 0110|0010 | 46 | 01000110
09: 0110|1101 | B6 | 10110110
10: 1000|1101 | B1 | 10110001
11: 100F9,F9,02,02,F9,F9,02,02,46,B6,B1
Timings (in us):
PAUSE SPACE: 14012
HEADER MARK: 3383
HEADER SPACE: 3847
BIT MARK: 719
ZERO SPACE: 997
ONE SPACE: 2708
Decoding known protocols...
Unknown protocol
Bytecount: 11
################# End
################# Start
Number of symbols: 107
Symbols:
Hh10011111100111110100000001000000Hh10011111100111110100000001000000HhWHh00010011000100110110110001101100H
Bytes:
00: 1001|1111 | F9 | 11111001
01: 1001|1111 | F9 | 11111001
02: 0100|0000 | 02 | 00000010
03: 0100|0000 | 02 | 00000010
04: 1001|1111 | F9 | 11111001
05: 1001|1111 | F9 | 11111001
06: 0100|0000 | 02 | 00000010
07: 0100|0000 | 02 | 00000010
08: 0001|0011 | C8 | 11001000
09: 0001|0011 | C8 | 11001000
10: 0110|1100 | 36 | 00110110
11: 0110|1100 | 36 | 00110110
F9,F9,02,02,F9,F9,02,02,C8,C8,36,36
Timings (in us):
PAUSE SPACE: 13972
HEADER MARK: 3406
HEADER SPACE: 3493
BIT MARK: 808
ZERO SPACE: 898
ONE SPACE: 2630
Decoding known protocols...
Unknown protocol
Bytecount: 12
################# End
Look at the different decoders of this schema you are now running. The first step could be to decode the temperature request, i.e. go through the full range of temperatures, and try to write a piece of code which correctly decodes this. Then the fan speed etc.
At least the old Panasonic CKP does not have separate ON and OFF signals, it just has a toggle, i.e. the same signal is used, but it just switches the device on or off.
Thanks for the response!
I'm absolutely no good at coding. I can look at it and kind of figure out what's going on, but I cannot write code unfortunately. I'm happy to work it out manually, though, I just need a little more help understanding what I need to look for.
I can see a clear change in the Hexadecimal output when pressing buttons. Looking at PanasonicCKPHeatpumpIR.h it looks as though the 'CKP codes' are also defined using Hex.
Based on this, is the process a matter of working out -
- What the hex codes for each function/mode/output/command are?
- Which bytes contain the code for the respective function/mode/output/command?
One other thing I can't seem to determine, is where the codes for temperature are defined?
OK, I spent a stack of time on this and answered the questions I had above for myself. Then when I looked at the appropriate Panasonic code, it turned out it was all exactly the same as Panasonic CKP. Turns out the receiver is extremely picky about directionality and I may not have quite been aiming the transmitter correctly. Some cursory testing suggests that it's all ok with a CKP.
Which IRSender* class do you use? These are listed on README.md and some offers better carrier frequency accuracy than older IRSenderBitBang. Accuracy affects range & direction.