Page 1 of 1

Logitech Harmony as source for IR Scope

Posted: Sat Nov 23, 2013 2:08 pm
by monochrome88
I needed to import some unknown IR signals into a Proto Hex compatible remote, and it seemed like the IRScope application was just the ticket for it. Unfortunately, it doesn't appear that the official IRWidget hardware for IRScope is available for sale anymore, so I had no way to get the IR pulses into the software. Not to be deterred, I dug around in my bucket of parts, and found an old Harmony remote that looked promising. I figured, well this thing has an IR receiver and already talks USB, surely I can get some useful data out of it.

Turns out, you sure can. I hacked about on the source code for the open source Concordance project to get it to do what I wanted, and then cross-compiled it for Windows. The files needed to use your own (or somebody else’s) Harmony remote as a source of timing information for IR signals is below:

https://www.hifi-remote.com/forums/dload ... e_id=12155

This is a modified build of Concordance 1.0 SVN that displays raw timing and clock information for importing into IRScope. It should support all of the hardware listed for Concordance, but was only able to test it with my Harmony 550. It doesn’t touch the configuration of the remote at all, nor does it require any internet access to Logitech’s servers, so you can use whatever donor Harmony you can find without messing up the configuration. I’ve also included the C file with the modifications in case you want to build it from SVN yourself. Just replace the file in the checkout tree and build it from there.

Instructions:

Plug in your compatible Logitech Harmony remote, wait for it to be installed/detected in the Device Manager (should not need any drivers), and then click on the runme.bat file in the folder. The command prompt window will open and if your remote is detected by the software, you should receive a prompt that says: [L]earn, [N]ext, [P]revious, [Q]uit (L)?

Prepare the remote that you want to capture from by pointing it at the IR window of the Logitech, and then press the L key to start the capture. Within 5 seconds of pressing L, press the button on the remote you want to learn.

The application will display a lot of data regarding the IR signal it just received. Copy all of the data from "Carrier clock" down to "Last key in list" into a notepad (or other text editor) and maybe make a note there about which button you pressed.

If you have more keys to learn, press L again and repeat these steps for each key. If you have all the keys you need, it's time to move over to IRScope.

On IRScope, click on the import button then click the radio button for Timing List. Take the numeric value from your text file that says carrier clock, and paste that into the field that says Frequency.

Next, you will probably have to remove the line feeds from the Windows command prompt out of your text file so that IRScope will accept them. In order to import the values, delete out the empty space at the end of each timing line so that you have one long continuous string of + and - values. Once you have your long string of pulse values ready, paste it into the large empty field of the Import IR window. Press OK, and your IR codes should be successfully imported into IRScope.

From there, you can do whatever you would do normally with the decoded values. Enjoy. :D

Posted: Sat Nov 30, 2013 1:45 am
by alanrichey
Tried this with my Harmony 659. but it stops immediately with the error that it cannot detect the remote. Even though I can see it in Device Manager and the Harmony software is still running and can update it,

I am using Windows 8, might be incompatible ?

Posted: Sat Nov 30, 2013 10:39 pm
by monochrome88
I tested it in a freshly installed Windows 8.1 VM via Virtualbox, and was able to get IR pulse timing via my Harmony 550 with the software on Win8 with no problems.

I don't have the Harmony software installed on my main Win7 or the Win8 box, so maybe that is interfering with the connection to the remote? I do know that when I plug in the 550, it just shows up as "USB Input Device", not sure if yours is any different.

Maybe try killing the Harmony software before running the batch file, and see if that helps. If not, maybe run the batch file as admin, but I didn't need to do that for it to work.

The 659 is listed as a compatible device for Concordance:

http://www.phildev.net/harmony/supported_models.shtml

as 6xx series (Arch 7), so it should work, but of course YMMV.

Posted: Sat Nov 30, 2013 11:42 pm
by alanrichey
OK, found the problem. The 659 is not compatible, but it works fine with my 650. However the next problem is that the timing string I get from the learn is too long to import into IRScope. Can I just import part of it ? If so, how do I recognise a break point ?

This is what I got:

+2651-905+411-457+439-457+439-933+411-905+886-458+438-458+438-458+410-486+410-486+858-906+858-486+410-486+410-934+410-486+410-486+858-906+858-486+410-486+410-934+410-486+410-123125+2676-880+436-460+408-488+408-936+436-908+856-488+408-488+407-489+407-461+435-461+855-937+855-461+435-461+435-937+407-461+435-461+855-937+855-461+435-461+435-909+434-462+434-123128+2647-909+407-489+407-461+435-937+407-937+855-461+434-462+434-462+434-462+406-490+854-938+854-462+406-490+406-938+434-462+406-490+854-938+854-462+406-490+406-938+406-490+406-123158+2643-885+431-465+431-465+403-941+431-913+879-465+403-494+402-494+402-494+402-466+850-942+850-494+402-466+430-942+402-494+402-466+850-942+850-467+429-467+429-943+401-467+429-123131+2643-912+404-492+404-492+404-940+404-939+853-491+406-462+434-462+434-462+434-462+854-937+855-461+435-461+407-937+435-461+435-461+855-937+855-461+407-489+407-937+435-461+407-123155+2647-881+435-461+435-461+435-909+435-909+883-461+435-462+405-491+405-491+405-491+853-911+853-491+405-492+404-940+404-492+404-493+822-943+849-496+400-469+427-946+398-500+396-123135+2667-890+398-499+397-498+398-947+397-946+846-499+397-498+398-471+425-471+425-470+846-946+846-470+426-470+426-918+426-470+426-469+847-946+846-469+427-469+399-945+427-469+427-123133+2641-915+401-467+429-468+428

Posted: Sat Nov 30, 2013 11:56 pm
by 3FG
Al.
You just look for a really long duration, because that usually will be the leadout. I find it helpful to paste into a text editor and place end of line characters after each long duration, but you don't have to:

Code: Select all

+2651-905+411-457+439-457+439-933+411-905+886-458+438-458+438-458+410-486+410-486+858-906+858-486+410-486+410-934+410-486+410-486+858-906+858-486+410-486+410-934+410-486+410-123125
+2676-880+436-460+408-488+408-936+436-908+856-488+408-488+407-489+407-461+435-461+855-937+855-461+435-461+435-937+407-461+435-461+855-937+855-461+435-461+435-909+434-462+434-123128
+2647-909+407-489+407-461+435-937+407-937+855-461+434-462+434-462+434-462+406-490+854-938+854-462+406-490+406-938+434-462+406-490+854-938+854-462+406-490+406-938+406-490+406-123158
+2643-885+431-465+431-465+403-941+431-913+879-465+403-494+402-494+402-494+402-466+850-942+850-494+402-466+430-942+402-494+402-466+850-942+850-467+429-467+429-943+401-467+429-123131
+2643-912+404-492+404-492+404-940+404-939+853-491+406-462+434-462+434-462+434-462+854-937+855-461+435-461+407-937+435-461+435-461+855-937+855-461+407-489+407-937+435-461+407-123155
+2647-881+435-461+435-461+435-909+435-909+883-461+435-462+405-491+405-491+405-491+853-911+853-491+405-492+404-940+404-492+404-493+822-943+849-496+400-469+427-946+398-500+396-123135
+2667-890+398-499+397-498+398-947+397-946+846-499+397-498+398-471+425-471+425-470+846-946+846-470+426-470+426-918+426-470+426-469+847-946+846-469+427-469+399-945+427-469+427-123133
+2641-915+401-467+429-468+428
IRScope gives RC6-6-20, device 5.12, OBC 92.

Posted: Sun Dec 01, 2013 12:00 am
by monochrome88
Very interesting. I didn't come across any codes that long for any of the devices I needed to import, so I didn't realize there is a length limitation of IR Scope's timing list import. That's something that would have to be changed in the source of IR Scope.

However, as a work around, you can paste as much of the code as you can into the window and it will probably be enough to decode your signal.

I guessed your frequency to be 38khz, and pasted in about half of your timing line. I got:

Protocol RC6-6-20, Device 5.12, OBC 92, Misc +3 copies, Start 0, End 87. It looks like what you have is a simple code that's repeating, so sample out the first copy once you have it in IR Scope and you should be good to go.