concordance - Man Page

for programming your Logitech Harmony remote control



For automatic mode:

concordance <file>

For manual mode:

concordance <options>


This software supports programming Logitech Harmony remote controls.  This software uses libconcord, which in turn uses libusb, which requires the RAWIO capability. That means you probably need root to use it.

This software can be run in one of two modes. If you run it in automatic mode, the software will analyze the file to determine what sort of file it is and what to do with it. In some cases, concordance may not be able to deteremine the filetype; if this happens, you should use manual mode.

In manual mode, you specify what you want to do. For any command-line option that requires updating the remote, a filename is required. In manual mode, you must first choose a mode (and only one):

Mode-Setting Options

-c,  --dump-config [<filename>]

Read the config from the remote and write it to a file.  If no filename is specified, config.EZHex is used.

-C,  --write-config <filename>

Read a config from <filename> and write it to the remote.

-f,  --dump-firmware [<filename>]

Read firmware from the remote and write it to a file.  If no filename is specified firmware.EZUp is used.

-F,  --write-firmware <filename>

Read firmware from <filename> and write it to the remote

-h,  --help

Print this help message and exit.

-i,  --print-remote-info

Print information about the remote. Additional information will be printed if -v is also used.

-k,  --get-time

Get time from the remote

-K,  --set-time

Set the time on the remote

-l,  --learn-ir <filename>

Learn IR commands from other remotes. Use <filename>. When you selected multiple commands to learn on the Logitech website, you can move through this command list and let the Harmony learn the IR code for each command.

-r,  --reset

Reset (power-cycle) the remote control

-s,  --dump-safemode [<filename>]

Read the safemode firmware from the remote and write it to a file.  If no filename is specified, safe.bin is used.

-t,  --connectivity-test <filename>

Do a connectivity test using <filename>

-V,  --version

Print the version and exit

NOTE: If using the short options (e.g. -c), then *optional* arguments must be adjacent: -c/path/to/file. Required arguments don't have this limitation, and can be specified -C /path/to/file or -C/path/to/file.

Additionally, you can specify options to adjust the behavior of the software:

Other Options

-b,  --binary-only

When dumping a config or firmware, this specifies to dump only the binary portion. When use without a specific filename, the default filename's extension is changed to .bin. When writing a config or firmware, this specifies the filename passed in has just the binary blob, not the XML.


Force. This forces concordance to use the file the way you specified, even if it doesn't think that's the kind of file it is. This is necessary for files dumped by concordance.

-R,  --no-reset

For config or firmware updates, do not reboot the device when done. This is generally only for debugging.

-v,  --verbose

Enable verbose output.

-w,  --no-web

Do not attempt to talk to the website. This is useful for re-programming the remote from a saved file, or for debugging.


None known at time of release, but check the website.

Bug Reports

Please file all bug reports in the bugs section of our SourceForge Project page.


This software is not supported, affiliated, or controlled by Logitech in any way.


concordance was written by Kevin Timmerman and Phil Dibowitz