concordance - for programming your Logitech Harmony remote control
For automatic mode:
For manual mode:
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
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):
-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
Print this help message and exit.
Print information about the remote. Additional information will
be printed if -v is also used.
Get time from the remote
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.
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>
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
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.
For config or firmware updates, do not reboot the device when
done. This is generally only for debugging.
Enable verbose output.
Do not attempt to talk to the website. This is useful for re-
programming the remote from a saved file, or for debugging.
BUGS None known at time of release, but check the website.
Please file all bug reports in the bugs section of our SourceForge
This software is not supported, affiliated, or controlled by Logitech
in any way.
concordance was written by Kevin Timmerman and Phil Dibowitz