I have an aircon, and I really need to control it remotely. The app provided with it is utter useless rubbish. The maker is TECO, the model is TWS-TSO25HVHT. There is no such an aircon in the database -- the only thing we have for TECO is a TV in the database.
I got a Raspberry Pi and hooked an IF transmitter and an IF receiver. My idea was to record whatever IR code was sent by the remote, and then replicate it. I know the receiver is working, as I can do this:
merc@raspberrypi:~$ sudo mode2 -m -d /dev/lirc0
Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
(This is rubbish, the IR receiver was near my big monitor)
16777215
778 46796
775 46719
830 46872
700 130465-pulse 1110478-space
1093946-space
77 47844
239 132353-pulse 256368-space
399 132307-pulse 492326-space
475715-space
265 132327-pulse 408328-space
388814-space
(This is me pressing a button on the remote)
3124 1534 547 1034 546 1035
545 271 545 271 545 270
546 1036 545 270 545 271
545 1033 549 1031 547 271
546 1033 549 270 546 270
(... more numbers...)
479 340 474 339 476 340
476 340 475 340 477 339
453 363 453 362 454 362
453 362 455 361 453 361
454 361 454 362 453 361
456 361 454 361 454 361
454 362 454 361 455 361
456 362 454 361 454 361
455 363 452 1125 456 361
455 360 455 362 454 361
455 360 455 1127 454 363
452 1127 454 360 455 361
455 363 452 1125 456 129779-pulse
So, it works!
When I try to do irecord:
merc@raspberrypi:~# irrecord -n
Using driver default on device /dev/lirc0
irrecord - application for recording IR-codes for usage with lirc
Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de)
ease take the time to finish the file as described in
https://sourceforge.net/p/lirc-remotes/wiki/Checklist/ an send it
to <lirc@bartelmus.de> so it can be made available to others.
Press RETURN to continue.
Checking for ambient light creating too much disturbances.
Please don't press any buttons, just wait a few seconds...
No significant noise (received 0 bytes)
Enter name of remote (only ascii, no spaces) :Enter name of remote (only ascii, no spaces) :t8
Using t8.lircd.conf as output filename
Now start pressing buttons on your remote control.
It is very important that you press many different buttons randomly
and hold them down for approximately one second. Each button should
generate at least one dot but never more than ten dots of output.
Don't stop pressing buttons until two lines of dots (2x80) have
been generated.
Press RETURN now to start recording.
.............................Cannot find any gap, using an arbitrary 50 ms one. If you have a
regular remote for e. g., a TV or such this is probably a point
where you hit control-C. However, technical hardware like air
condition gear often works without any gap. If you think it's
reasonable that your remote lacks gap you can proceed.
Press RETURN to continue.
Please enter the name for the next button (press <ENTER> to finish recording)
TEMP_20
Now hold down button "TEMP_20".
Please enter the name for the next button (press <ENTER> to finish recording)
TEMP_21
Now hold down button "TEMP_21".
Please enter the name for the next button (press <ENTER> to finish recording)
Checking for toggle bit mask.
Please press an arbitrary button repeatedly as fast as possible.
Make sure you keep pressing the SAME button and that you DON'T HOLD
the button down!.
If you can't see any dots appear, wait a bit between button presses.
Press RETURN to continue.
Cannot find any toggle mask.
Successfully written config file t9.lircd.conf
However, this is what the file looks like:
begin remote
name t9
bits 0
eps 0
aeps 0
one 0 0
zero 0 0
gap 50000
toggle_bit_mask 0x0
frequency 38000
begin codes
TEMP_20 0x0
TEMP_21 0x0
end codes
end remote
So, the codes weren't picked up. I looked at this blog entry:
http://absurdlycertain.blogspot.com/2013/03/lirc-raspi-remote-control-configuration.html
So I tried running mode2 in raw mode, ignoring the "pulse", "timeout" and "space' bits.
This is what I get:
$ mode2 -d /dev/lirc0 | grep -v "pulse" | grep -v "space" | grep -v "timeout"
...NOTHING!
By using the remote, and looking at how the unit responds to it, it really looks like the remote sends a FULL configuration to the unit. if I face the remote away from the unit, and change the temperature AND the fan settings AND the mode, if I then direct the remote to the unit, I will see that all of those will change at the same time. I would be prepared for a 48 bit payload, but this is a little much :D Plus, pressing twice the same button doesn't seem to generate twice the same result.
I also read this: https://forums.raspberrypi.com/viewtopic.php?f=28&t=235256
However, I am running this:
$ uname -a
Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
And I believe it's the latest version of irrecord:
$ irrecord --version
irrecord 0.10.1
$
Help?
I realised that I was using the latest release of lirc, which was quite old. So, I downloaded the source, compiled it, and installed it. Unfortunately, I had the exact same result.
$ irrecord -v
irrecord 0.11.0-devel
$
Please close this.