Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Tree [94a18e] master /
History



File Date Author Commit
.gitattributes 2014-03-29 Scott Talbert Scott Talbert [c2ed05] Update .gitattributes
.gitignore 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
COPYING 2008-06-14 Stephen Warren Stephen Warren [c61494] Tag congruity-7
Changelog 2014-03-29 Scott Talbert Scott Talbert [67b4f5] Version bump and preparation for release
LICENSE.txt 2008-09-07 Stephen Warren Stephen Warren [303c19] Tag congruity-9
Makefile 2013-12-08 Scott Talbert Scott Talbert [761027] Fairly major rework to remove StartBusy()/EndBu...
README.txt 2014-03-29 Scott Talbert Scott Talbert [73e8fc] Updates to README in preparation for release
account.xsd 2014-06-10 Scott Talbert Scott Talbert [cbd080] Fixes to match latest website changes
activity.xsd 2014-06-10 Scott Talbert Scott Talbert [78513f] Fixes to match latest website changes
am_data.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
arrays.xsd 2013-08-13 Scott Talbert Scott Talbert [34277d] Add GetActivityRoles method in WSDL/XSD and MHM...
button_mapping.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
congruity 2014-07-02 Scott Talbert Scott Talbert [94a18e] congruity: more python 3 fixes (.next() and sys...
congruity.1 2008-06-14 Stephen Warren Stephen Warren [c61494] Tag congruity-7
congruity.desktop 2009-06-19 Stephen Warren Stephen Warren [181adc] Tag congruity-12
data.xsd 2014-03-19 Scott Talbert Scott Talbert [a3c862] WSDL/XSD updates to match latest website changes
discovery.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
dm_operation.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
harmony.wsdl 2014-03-19 Scott Talbert Scott Talbert [a3c862] WSDL/XSD updates to match latest website changes
icon-complete.png 2008-06-14 Stephen Warren Stephen Warren [c61494] Tag congruity-7
icon-failed.png 2008-06-14 Stephen Warren Stephen Warren [c61494] Tag congruity-7
icon-in-progress.png 2008-06-14 Stephen Warren Stephen Warren [c61494] Tag congruity-7
icon-sources.txt 2009-06-19 Stephen Warren Stephen Warren [181adc] Tag congruity-12
icon-unstarted.png 2008-06-14 Stephen Warren Stephen Warren [c61494] Tag congruity-7
ir_data.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
mhgui 2014-06-29 Scott Talbert Scott Talbert [50697d] MHGUI - remove unneeded thread and switch from ...
mhgui.1 2013-10-29 Scott Talbert Scott Talbert [27a4ce] Add a man page for mhgui. Fixes #16.
mhgui.desktop 2013-10-29 Scott Talbert Scott Talbert [5c071d] Add a .desktop file for mhgui. Closes #11.
mhmanager.py 2014-06-29 Scott Talbert Scott Talbert [7fe000] Switch from print statement to print() function
mkrelease.sh 2014-03-29 Scott Talbert Scott Talbert [f1e391] Update mkrelease.sh script to use 'git archive'
operation.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
product.xsd 2013-12-12 Scott Talbert Scott Talbert [88e12e] Move 'Product' items to their own XSD (correcti...
remote.png 2008-09-07 Stephen Warren Stephen Warren [303c19] Tag congruity-9
search_match.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
serialization.xsd 2013-04-05 Scott Talbert Scott Talbert [c765d2] Merge branch 'mhgui' into zwave_work_branch
throbber.gif 2013-12-08 Scott Talbert Scott Talbert [761027] Fairly major rework to remove StartBusy()/EndBu...
user_feature.xsd 2013-10-21 Scott Talbert Scott Talbert [ddd90f] Add a new page to MHGUI which allows modifying ...

Read Me

Requirements
==============================================================================

Python (tested with 2.7.5 on Fedora 20)
  See http://www.python.org/

Python ctypes library (included with Python 2.5, separate earlier)
  See http://sourceforge.net/projects/ctypes/

wxPython (tested with wxPython-2.8.12.0 on Fedora 20)
  See http://www.wxpython.org/

libconcord (version 1.1 is *required*; tested on Fedora 20)
  See http://www.phildev.net/concordance/
  Note that the python bindings are also required; see
  libconcord/bindings/python

python-suds (tested with 0.4.1 on Fedora 20)
  Suds is required for mhgui.

Python, ctypes, wxPython, and Suds are typically installed using your
distribution's package management system. If this is not the case, installation
instructions should be located in the documentation accompanying those packages.

libconcord may be available via your distribution's package management
system. If so, please ensure that you install any sub-packages required to
provide the libconcord Python bindings, e.g. both libconcord and
libconcord-python.

If installing libconcord from source, please follow the instructions
accompanying the source. Note that the Python bindings must be installed
separately; the bindings are found within the following sub-directory of the
libconcord source package:

    libconcord/bindings/python

Some versions of libconcord provide a README.txt detailing the installation
process. Otherwise, the basic instructions are to run the following command as
root:

    python setup.py install

Installation
==============================================================================

congruity may be installed by running the following command:

    make install

This command typically requires root access, since the default installation
location is /usr/local.

Please read Makefile for details of variables that may be set to configure the
installation process, e.g.:

    make install DESTDIR=/tmp/pkgtmp PREFIX=/usr

Device Node Access Setup
==============================================================================

You may need to set up udev/similar rules so that the USB device nodes used
by the application are accessible without running congruity as root. Note that
distribution packages of libconcord typically provide these rules, so they may
already be set up for you.

If you need to manually set up udev rules, the following file should work:

----- /etc/udev/rules.d/custom-concordance.rules:
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c110", MODE="666"
-----

Note that your vendor and product ID may be different. Use lsusb to verify:

-----
[swarren@esk ~]$ lsusb
...
Bus 005 Device 011: ID 046d:c110 Logitech, Inc. 
...
-----

Remember to differentiate between the Harmony remote and any other Logitech
peripherals you may have! Note that not all Harmony-compatible remotes are
Logitech-branded in the USB listing.

Usage Model
==============================================================================

congruity aims to fit into the usage model implemented by the official
Logitech software. The primary differentiation is that congruity is both
open-source and more cross-platform than the official software.

Harmony remotes are configured using the Logitech website, based at the
following URL:

    http://members.harmonyremote.com/

Note that other URLs may be used for remotes that are not branded as
"Harmony". However, the overall process is identical.

The website provides a database of devices, and a set of wizards to select
which of those are present in your setup. All decisions regarding how the
remote will be configured are made through this website. 

Please note that more recent versions of the Logitech software appear to be
an application that executes locally on the user's computer. However, they are
in fact a simple wrapping of a web-browser, simply hiding the web-based nature
of the configuration process.

Once the configuration is complete, the website will push various file
downloads to the web browser. These files contain the information required to
program the user's configuration into the remote. For each file downloaded,
the congruity application should be executed to process the instructions in
that file.

Web Browser Setup
==============================================================================

Configure your web browser to open files of type *.EZHex, *.EZUp, and *.EZTut
with the congruity application.

This is typically set up using the dialog box that appears when a file is
about to be downloaded. congruity should be executed once for each file
downloaded, and should be passed the name of the saved download as a command-
line parameter, for example:

    congruity /tmp/Connectivity.EZHex

If you're confused, the above behavior is most likely what your web browser
will do automatically when configured to open files using congruity.

Firefox Specific Notes
==============================================================================

You'll need to change a setting to see the download action prompt; Otherwise,
files will simply be saved to disk without you being asked. On Linux, this may
be achieved from the Edit menu -> Preferences menu item -> Main tab -> Select
"Always ask me where to save files". The exact menu location may vary slightly
on other operating systems.

When a file download commences, a dialog will appear with the option to "Open
With", or "Save" the file. Select "Open With", and browse for the congruity
executable as the application. You may also want to select "Do this
automatically for files like this from now on". You will need to select the
path to the congruity application once for each file type (*.EZHex, *.EZUp,
*.EZTut).

If the automatic option is not selected, the dialog will appear for every file
downloaded. Note that Firefox does remember the path to congruity for future
downloads, even though it is not displayed.

MHGUI
==============================================================================

MHGUI was developed as an alternative front-end to the myharmony.com website,
which requires Silverlight and is thus unsupported on Linux and other platforms.
Specifically, combined with congruity and libconcord, it enables users of the
Harmony 200 and 300 (which are only supported through myharmony.com and not
through members.harmonyremote.com) to configure and program their remotes under
Linux.  Simply run 'mhgui' and follow the on-screen prompts.