ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Logitech Harmony Fernbedienung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

./harmony.png Logitech Harmony {de} ist eine Serie von Universalfernbedienungen, also Fernbedienungen mit denen man mehrere Geräte auf einmal steuern kann. Diese werden über eine Webseite programmiert. Ist die Programmierung abgeschlossen, so wird eine Datei auf die Fernbedienung übertragen. Mit Hilfe der Bibliothek Concordance {en} ist es externen Programmen und Skripten erlaubt, Logitech Harmony Fernbedienungen unter Linux anzusprechen. Welche Modelle der Fernbedienung derzeit unterstützt werden, kann auf der Webseite des Entwicklers {en} nachgelesen werden.

Concordance teilt sich in zwei Teile auf: die eigentliche Bibliothek libconcord und das Terminalprogramm concordance, mit dem die Fernbedienung angesprochen werden kann. Des weiteren gibt es mit congruity ein Pythonscript, welches eine simple grafische Oberfläche zur einfacheren Verwaltung der Fernbedienung bietet.

Installation

Ab Ubuntu 11.10 Oneiric

Hier genügt es die beiden Pakete aus den Paketquellen zu installieren [1] und danach die udev Regeln zu erweitern.

  • congruity

  • concordance

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install congruity  concordance 

sudo aptitude install congruity  concordance 

Ubuntu 10.04 Lucid Lynx

Folgende Pakete müssen vorab installiert werden [1] (ggf. sind die Namen der Pakete zusätzlich mit einer Versionsnummer versehen):

  • libusb

  • libusb-dev

  • python

  • python-ctypes

  • python-wxgtk

Die Bibliothek bzw. Programm concordance kann in der aktuellen Version von hier {en} heruntergeladen werden. Anschließend das heruntergeladene Archiv concordance-[VERSION].tar.bz2 im Terminal [2] in ein beliebiges Verzeichnis entpacken [4]. Man erhält dann das Unterverzeichnis concordance-[VERSION].

Kompilieren von libconcord

Im ersten Schritt muss die Bibliothek libconcord kompiliert und installiert werden. Dazu in das Verzeichnis concordance-[VERSION]/libconcord wechseln und nach der Standardmethode kompilieren [6]. Sind alle Abhängigkeiten (siehe oben) erfüllt, gelingt das Kompilieren problemlos.

Kompilieren von Concordance

Nach der erfolgreichen Installation der Bibliothek muss jetzt das eigentliche Programm kompiliert werden. Dazu in das Verzeichnis concordance-0.21/concordance wechseln und auch hier das Programm entsprechend [6] kompilieren.

Kompilieren von Congruity

Das grafische Pythonscript congruity in der aktuellen Version kann hier {en} heruntergeladen werden. Danach das heruntergeladene Archiv congruity-[VERSION].tar.bz2 in ein beliebiges Verzeichnis entpacken [4]. Man erhält dann das Unterverzeichnisse congruity-[VERSION]. Dann im Terminal [2] in das Verzeichnis wechseln und

sudo make install 

eingeben.

Danach im Verzeichnis /concordance-[VERSION]/libconcord/bindings/python

python setup.py install 

ausführen.

Nun sind alle Vorkehrungen getroffen und man kann sich den udev Regeln widmen.

udev-Regel anlegen

Im Idealfall ist es nicht nötig eine solche udev-Regel anzulegen. Sollte die Fernbedienung aber nicht vom System erkannt werden, so muss dann doch eine Regel für das Gerät angelegt werden. Dazu ist es notwendig die Vendor- und Product-ID der jeweiligen Fernbedienung zu ermitteln. Dazu in einem Terminal [2]

lsusb 

bei, per USB, angeschlossener Fernbedienung eingeben und die Vendor:Product-ID notieren. Als Ausgabe erscheint folgendes:

Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 008: ID 046d:c111 Logitech, Inc.

Nun muss eine neue Datei namens 85-harmony.rules im Pfad /etc/udev/rules.d erzeugt [3] werden. Diese muss folgenden Inhalt haben:

SYSFS{idVendor}=="046d", SYSFS{idProduct}=="[ID_PRODUCT]", MODE="666"

SYSFS{idProduct}=="[ID_PRODUCT]" muss auf das eigene Modell abgestimmt sein. Hier einige Beispiele:

Produktbezeichnung ID_PRODUCT
Harmony 555 (Mocha Grande) c111
Harmony 885 (Espresso) c110
Harmony 300 (wird von Concordance z.Z. nicht unterstützt) c124

Damit ergibt sich dann folgender oder ähnlicher Aufbau für eine Harmony 555:

SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c111", MODE="666"

Nachdem udev mittels folgenden Befehls

sudo /etc/init.d/udev restart 

neu gestartet wurde wurde, kann das Gerät abgezogen und wieder angesteckt werden. Durch die Eingabe von:

concordance -i 

kann geprüft werden, ob die Verbindung funktioniert. Im Erfolgsfall sieht die Ausgabe folgendermaßen oder ähnlich aus:

Concordance 0.21
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting Identity: 100%                 done
  Model: Logitech Harmony 555 (Mocha Grande)
  Firmware Version: 3.0
  Hardware Version: 3.0
  Config Flash Used: 13% (51 of 384 KiB)

Success!

Backup

Bevor man über den Webbrowser und congruity die Harmony programmiert, sollte eine Sicherheitskopie der aktuellen Einstellungen in der Fernbedienung gesichert werden. Dazu die Fernbedienung mit dem USB-Kabel an den Rechner anschließen und im Terminal [2]

concordance --dump-config <dateiname.EZhex> 

eingeben. Im Fehlerfall kann diese Sicherheitskopie jederzeit durch die Eingabe von

concordance --write-config <dateiname.EZhex> 

wieder in die Fernbedienung geschrieben werden.

Programmierung der Fernbedienung

Auf der Website http://members.harmonyremote.com/ {en} kann nach der Eingabe der Benutzerdaten damit begonnen werden, die Fernbedienung zu programmieren. Sollen Daten auf dem Gerät gespeichert werden, so versucht der Browser die Datei mit der Endung EZhex bzw EZup herunterzuladen.

Im "Öffnen mit"-Dialog des Browsers muss nun der Pfad von Congruity angegeben werden, damit dies die Daten übernimmt und an Concordance weitergibt. Bei der normalen Installation lautet dieser: /usr/local/bin/congruity. Bei Versionen vor 9 entsprechend: /usr/bin/congruity. Funktioniert diese Vorgehensweise, bietet es sich an, bei jedem Download einer EZhex bzw. EZup-Datei diese automatisch mit Congruity zu öffnen. Dazu können entsprechende Einstellungen im jeweiligen Browser vorgenommen werden.

Normalerweise wird die Eintrichtung über die Webseite http://myharmony.com/ {de} vorgenommen. Dabei kommt Silverlight zum Einsatz. Dies funktioniert allerdings nur unter Windows und MacOSX. Moonlight unter Linux wird nicht unterstützt.

ubuntuusers.local › WikiLogitech Harmony Fernbedienung