https://members.harmonyremote.com/EasyZapper/
I implored Harmony/Logitech many times over to open source their vast database of IR codes, or at least make it available. Now it seems to have been squandered, meaning that a project like this OP one has to use a learning-mode per device and cannot select from almost every known consumer electronic IR code that Harmony enjoyed. Does such a publicly available database exist? Many cheap all-in-one IR remote controls came with printed tables of numeric codes, but those were not the actual IR codes themselves and were not universally applied across brands.
Nowadays a Sofa Baton (IR & Bluetooth) remote does the job.
The last device I pulled was a TCL 75Q77K which might have been released around March 2025 which was 2 months before Logitech announced the discontinuation of Logitech Harmony Remote Software so they might be done adding new devices. I dunno.
Different remotes use different formats, a lot of them repeat the actual data twice. Most interesting were the remotes for our minisplits, which tranmit the whole state for the minisplit, followed by a second message indicating half degrees -- presumably, older minisplits could only do whole degrees so they added a second message.
Transmitting the words is more challenging, the IR LED needs to be pulsed (modulated) around around 38 khz, and there are potentially different wavelengths. So far have not been able to get our mini splits to accept a code I send to them, I suspect my LED wavelength is wrong.
I think this is necessary because A/C remotes often have a screen showing the state. If you transmit the whole state then, as long as the most recent button press made the unit beep, you can be sure that the state on the remote screen is correct. If you were to transmit deltas only (e.g. temperature up/down) you could eat out of sync and have no easy way to get back in sync.
This problem still shows up today in limited forms. I have several A/C units of the same model and the same remote. Sometimes the remotes get mixed up and I end up trying to use a remote in the A/C off state to control an A/C that's on, and it does nothing because the remote ignores most button inputs if it thinks the A/C is off. I have cover the IR emitter and "turn it on" first.