Fernbedienung - Logitech Harmony
Inhaltsverzeichnis |
Beschreibung
Diese Fernbedienungsserie wird von Logitech produziert und zeichnet sich vor allem durch ihre Funktion "Aktivitäten", welche verschiedene Endgeräte integrieren und somit über "einen einzigen Knopfdruck" zu einer sinnvollen Aktion koordinieren und auf eine Funktion verknüpfen, die Lernfähigkeit neuer Befehle auch aus der stets geupdateten Online-Datenbank, automatische Synchronisation über einen einzelnen Knopf aus.
Diese Merkmale werden bei Logitech "smart state" und Onlinedatenbank genannt, welche durch einen leicht verständlichen Bediederf
Dabei werden alle daran beteiligten Geräte ein und in den richtigen Modus geschaltet. Bei der Konfiguration der Harmony gibt man nur die benutzten Geräte an (Hersteller und Modell) und die Fernbedienung verknüpft die Geräte zu sinnvollen Aktionen.
Die in der Benutzung von üblichen vorprogrammierten Universalfernbedienungen Merkmale und Einrichtungsschritte der Harmony-Fernbedienungen sind:
- die Fernbedienung muss zur Aufspielen der individuellen Geräteeinstellungen des jeweiligen Nutzers aus der Datenbank ( derzeit, im 3Q 2009, ca 310 000 Geräte ) per USB
- Anschluss über einen PC und Software parametriert werden. Dadurch ist die Fernbedienung auch bei neuen Geräten und in der Zukunft problemlos auf dem neuesten Stand zu halten und auf Lebeszeit hin aktuell gehalten. Nicht in der Datenbank vorhandene Geräte können per Originalfernbedienung eingelernt werden.
Der Telefonsupport steht ab Kauf für unbegrenzte Zeit, auch nach Ablauf der Garantie, per 00800-Nummer gebührenfrei zur Verfügung.
- die Software ist offiziell nur unter Microsoft Windows und MacOSX lauffähig, jedoch gibt es bereits 2 open-source Projekte zur Steuerung der harmony-Kommunikation mit dem Server für die gängigsten Linux-Distributionen.
- diese Software benötigt während der Ausführung einmalig Internetzugang inklusive Registrierung bei Logitech, auch die in Europa ( auch Schweiz) 2-jährige Garantie läuft ab Datum der Onlineregistrierung.
Historie
Die hier ursprünglich beschriebene Konfiguration benutzt leider RC5 Codes die für TV-Geräte gedacht sind (addresscode 0x00), so dass es immer wieder Überschneidungen mit TVs gab (dokumentiert u.a. für Philips, SEG und Loewe). Ich habe mich deswegen mit Logitech in Verbindung gesetzt und einen neuen Codesatz für die Harmony erstellen lassen, getestet mit einer Harmony 885.
Verabeitung
Leider sieht die 525 zwar sehr edel und elegant aus, aber bei einem Tastenduck knarzt sie teilweise erheblich. Außerdem geht bei älteren Geräten das Licht nicht von alleine aus. Solche Geräte werden jedoch auf Garantie ersetzt und neuere Serien haben das Problem nicht mehr - aktuell im Verkauf befindliche Geräte haben eine hochwertige Qualität. Das Modell 555 ähnelt der 525 stark (zwei zusätzliche Tasten) und kostet inzwischen nur noch geringfügig mehr. Die Verarbeitung der 555 ist jedoch erheblich besser!
Konfiguration
Hier eine kurze Anleitung wie ich meine Harmony 525 für den VDR eingerichtet hab. Die Beschreibung hab ich sowohl für das Remote Plugin als auch für LIRC mit einem seriellen Empfänger getestet. Die in der Anleitung ausgewählte Fernbedienung sendet RC5 Code (64 verschiedene Codes) und wurde vom Logitech Support speziell für den VDR eingerichtet. Dafür herzlichen Dank an den Logitech Harmony Support. :-)
ToDo
Derzeit meint die Harmony Software, dass der VDR in den Tuner Mode geschaltet wird. Das könnt ihr einfach ignorieren. Das geht derzeit nur nicht anders weil der VDR ein PVR ist. Das wird in Zukunft korrigiert werden.
Im Aktivitäts Modus sind keine Tasten des VDR belegt. Das kann der Logitech Support leider nicht kurzfristig lösen und wird wohl länger dauern. Daher ist in der Anleitung auch der Punkt beschrieben.
Anleitung
1. Gerät einrichten:
- Geräte
- Gerät hinzufügen
- Videorekorder --> PVR
- Hersteller: KLS
- Modellnummer: VDR (für die alten Tastencodes, die sich mit einigen TV Geräten überschneiden)
- Modellnummer: VDR 1.6 (für die neuen, hoffentlich überschneidungsfreien Codes)
- Hersteller: KLS
- Videorekorder --> PVR
- Gerät hinzufügen
2. Aktivität hinzufügen:
- "Aktion"
- "Aktion hinzufügen"
- "Nein - eine Aktion manuell hinzufügen"
- "Fernsehen"
- "PVR anschauen - Fernsehen mit einem Personal Video Recorder (PVR)"
danach kommen Angaben die von eurer Anlage (DD-Decoder / Fernseher) abhängen.
3. Tasten der Fernbedinung in der Aktivität umkonfigurieren:
- "Aktionen"
- "PVR anschauen" (den Namen kann man natürlich ändern)
Ändern der Tastenzuweisung Nun bekommt ihr die Fernbedinung mit all ihren Tasten. Da könnt ihr die Tastenbelegung anpassen.
Mit Lautstärkenregelung über den VDR:
(braucht ihr sie nicht einfach die Tasten nicht konfigurieren (und com0-com2 ungenutzt lassen oder unten zu den LCD Tasten dazu geben und selbst benennen)
Harmony Konfig (hier als Beispiel fie 555 mit den alten Gerätecodes) als Bild:
Anmerkung bei Remote Plugin und Lautstärkenregelung: Beim remote-plugin konnte ich leider die konfigurierte Mute Taste nicht anlernen, statt desen hab ich dafür "Cmd 16" genommen.
Nun noch die lircd.conf und/oder die $VDRCONFIG/remote.conf an die passende Stelle einfügen. Und euren IR-Einschalter auf die Einschalttaste anlernen. Dabei handelt es sich um eine dezidierte Taste. Es gibt also eine zum Aufdrehen und eine zum Abdrehen.
Gerät "VDR"
Bekannte Probleme
- Da die RC5 Codes den Gerätetyp TV (Adresscode 0x00) nutzen, kommt es zu Überschneidungen mit einigen Geräten, bekannt sind bereits:
- Philips 32PW9767
- Philips 47PFL9703
- Philips 42PES0001
- SEG CT-2801a
- Loewe Calida
- Man kann als lautstärkenregelndes Gerät nicht den VDR selbst auswählen.
(Auch das geht derzeit nur nicht, weil er ein PVR ist und wird in Zukunft korrigiert werden. Derzeit kann man einfach wie weiter unten beschrieben die Lautstärke Tasten einrichten.) Beide Probleme sind bei der Benutzung des Geräts "VDR 1.6" gelöst.
lircd.conf
begin remote
name harmony_kls_vdr
bits 13
flags RC5|CONST_LENGTH
eps 30
aeps 100
one 922 858
zero 922 858
plead 937
gap 116048
min_repeat 2
toggle_bit 2
begin codes
mute 0x1780
vol+ 0x1001
vol- 0x1002
ch- 0x1003
ch+ 0x1004
prev 0x1005
up 0x1006
down 0x1007
left 0x1008
right 0x1009
ok 0x100A
menu 0x100B
exit 0x100C
guide 0x100D
info 0x100E
stop 0x100F
replay 0x1010
skip 0x1011
play 0x1012
rec 0x1013
rew 0x1014
fwd 0x1015
pause 0x1016
1 0x1017
2 0x1018
3 0x1019
4 0x101A
5 0x101B
6 0x101C
7 0x101D
8 0x101E
9 0x101F
clear 0x1020
0 0x1021
enter 0x1022
red 0x1023
green 0x1024
yellow 0x1025
blue 0x1026
channels 0x1027
commands 0x1028
slowrew 0x1029
slowfwd 0x102A
recordings 0x102B
timers 0x102C
setup 0x102D
user1 0x102E
user2 0x102F
user3 0x1030
user4 0x1031
user5 0x1032
user6 0x1033
user7 0x1034
user8 0x1035
user9 0x1036
user10 0x1037
user11 0x1038
user12 0x1039
user13 0x103A
user14 0x103B
user15 0x103C
user16 0x103D
poweroff 0x103E
poweron 0x103F
end codes
end remote
remote.conf
Die $VDRCONFIG/remote.conf habe ich wieder herausgenommen, da sich die Tasten je nach Patch und VDR Version ändern können. Wobei ein Anlernen der Tasten mit dem VDR wohl für niemanden ein Problem darstellen sollte.
Gerät "VDR 1.6"
Dieser Gerätecode wurde in Zusammenarbeit mit von Logitech unter zwei Gesichtspunkten erstellt: 1. Überschneidungsfrei mit anderen Geräten (es wird der Adresscode 11 / 0x0b genutzt) 2. Benutzung RC-5 Standardcodes für Kommandos (soweit diese definiert sind)
Außerdem gibt es Tastencodes für "Audio" (Wahl der Tonspur) sowie Untertitel. Die Lautstärkentasten, Kanalwahl etc. sind direkt belegt.
Achtung: In der Harmony-Konfiguration gibt es drei Buttons "Power Toggle", "Power On/Off" und "PowerOff". Um den VDR mit der hier gezeigten lircd.conf und remote.conf Kombination den VDR auzuschalten, muss der Button "PowerOff" benutzt werden. ("PowerOff" sendet "0x12cc", 0x12cc -> lircd.conf -> "Standby" -> remote.conf -> "LIRC.Power")
lircd.conf
begin remote
name harmony_kls_vdr_1.6
bits 13
flags RC5|CONST_LENGTH
eps 30
aeps 100
one 922 858
zero 922 858
plead 937
gap 116048
min_repeat 2
toggle_bit 2
begin codes
Mute 0x12cd
Volume+ 0x12d0
Volume- 0x12d1
Channel- 0x12e1
Channel+ 0x12e0
PrevChannel 0x12e2
Up 0x02c4
Down 0x02c5
Left 0x02c6
Right 0x02c7
Ok 0x02c8
Menu 0x02c9
Back 0x02ca
Schedule 0x02cb
Info 0x02cc
Stop 0x12f6
Prev 0x12f0
Next 0x12f1
Play 0x12f5
Record 0x12f7
FastRew 0x12f2
FastFwd 0x12f4
Pause 0x12f3
1 0x12c1
2 0x12c2
3 0x12c3
4 0x12c4
5 0x12c5
6 0x12c6
7 0x12c7
8 0x12c8
9 0x12c9
0 0x12c0
Red 0x02c0
Green 0x02c1
Yellow 0x02c2
Blue 0x02c3
Channels 0x02d3
Commands 0x02cd
Recordings 0x02ce
Timers 0x02cf
Setup 0x02d0
User1 0x02f0
User2 0x02f1
User3 0x02f2
User4 0x02f3
User5 0x02f4
User6 0x02f5
User7 0x02f6
User8 0x02f7
User9 0x02f8
Standby 0x12cc
Power 0x12cb
Audio 0x02d1
Subtitles 0x02d2
end codes
end remote
remote.conf
LIRC.Up Up LIRC.Down Down LIRC.Menu Menu LIRC.Ok Ok LIRC.Back Back LIRC.Left Left LIRC.Right Right LIRC.Red Red LIRC.Green Green LIRC.Yellow Yellow LIRC.Blue Blue LIRC.0 0 LIRC.1 1 LIRC.2 2 LIRC.3 3 LIRC.4 4 LIRC.5 5 LIRC.6 6 LIRC.7 7 LIRC.8 8 LIRC.9 9 LIRC.Info Info LIRC.Audio Audio LIRC.Subtitles Subtitles LIRC.Play Play LIRC.Pause Pause LIRC.Stop Stop LIRC.Record Record LIRC.FastFwd FastFwd LIRC.FastRew FastRew LIRC.Next Next LIRC.Prev Prev LIRC.Power Standby LIRC.Channel+ Channel+ LIRC.Channel- Channel- LIRC.PrevChannel PrevChannel LIRC.Volume+ Volume+ LIRC.Volume- Volume- LIRC.Mute Mute LIRC.Channels Channels LIRC.Timers Timers LIRC.Recordings Recordings LIRC.Setup Setup LIRC.Commands Commands LIRC.Schedule Schedule LIRC.User1 User1 LIRC.User2 User2 LIRC.User3 User3 LIRC.User4 User4 LIRC.User5 User5 LIRC.User6 User6 LIRC.User7 User7 LIRC.User8 User8 LIRC.User9 User9
Erzeugen einer eigenen Konfiguration
Hier entsteht eine kleine Anleitung, wie man ohne den Logitech Support zu bemühen ein eigenes Device Profil erzeugt und sämtliche Befehle in einem Rutsch automatisch überträgt. Die Methode baut auf der alternativen Software zum Programmieren der Logitech Harmony unter Linux und Windows von Phil Dibowitz auf (http://www.phildev.net/concordance/) und dem Patch von Andreas Schulz zum anlernen von Pronto Hex Codes. Benötigte Software:
- Ein Programm zum erzeugen von RC5 codes z.B. GenerateRCx von http://www.majority.nl/projects_remote_control.htm oder makehex von http://www.remotecentral.com/cgi-bin/files/rcfiles.cgi?area=pronto&db=other&br=utilities&dv=irprograms
- Eine gepatchte Version von concordance: https://dl.dropboxusercontent.com/u/25102452/Harmony/concordance.zip Enthalten ist die libconcord.dll und concordance.exe für Windows und die geänderten Sourcedateien (concordance-0.21) um das ganze unter Linux zu kompilieren. Unter Linux müsst Ihr Euch das tool selbst kompilieren. concordance-0.21 runterladen, entpacken, libconcord kompilieren und installieren, concordance konfigurieren (mit ./confiugre), Sourcen aus der Zip-Datei nehmen und Dateien überschreiben, mit make kompilieren.
- Firefox Addon "Tamper Data" von https://addons.mozilla.org/de/firefox/addon/966 (Nur notwendig, wenn mehr als ein Code auf einmal von der Originalfernbedienung angelernt oder als Pronto Hex Code übergeben werden soll.)
RC5 Befehle als Pronto Hex Codes erzeugen
Zunächst muss eine Liste mit Codes erzeugt werden, dies geht z.B. mit GenerateRCx und wine. Wir nehmen als Ausgangsbasis eine Liste wo die Namen und die Codes schon zugeordnet sind (http://vdrportal.de/board/attachment.php?attachmentid=14026) und wählen uns einen noch nicht vergebenen Devicecode, z.B. 10 bzw. 000A (SAT2). Mit dem kleinen Script
while read a b
do
printf "%s " $b
echo $a | wine GenerateRCx `awk --non-decimal-data '{printf "5000 0000 0000 0001 000A %04X\n",$1}'` >> rc5.txt
done<keys_pronto.rc5.txt
bekommen wir eine schöne Liste mit Namen und Codes, die wir später einlesen können:
KEY_POWER 0000 0073 0000 000A 0020 0020 0040 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0040 0020 0020 09B7 KEY_0 0000 0073 0000 000B 0020 0020 0040 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 09B7 KEY_1 0000 0073 0000 000B 0020 0020 0040 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 09B7 KEY_2 0000 0073 0000 000A 0020 0020 0040 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 09B7 KEY_3 0000 0073 0000 000B 0020 0020 0040 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 09B7 ...
Das Format ist wie man sieht ziemlich einfach: Erste Spalte der Name (z.B. KEY_POWER) und der Rest der Zeile ist der Pronto Hex Code. Um die Codes auf der Webseite neu anzulernen müssen wir uns noch eine Liste mit Elementen für das POSTDATA Formular generieren:
awk '{printf"OtherCommand=%s\n",$1}' rc5.txt > rc5_input.txt
wobei der entsprechende Befehl zum anlernen von mehreren neuen Codes am Ende natürlich nicht fehlen darf:
echo "WebProcessAction%3AMultiDigitize_=Learn+New+Command" >> rc5_input.txt
Pronto Hex Codes ins Profil übertragen
Um die Codes in das Profil zu übertragen müssen wir uns mit Firefox bei http://members.harmonyremote.com anmelden. Zuerst erzeugen wir uns ein neues leeres Geräteprofile (Add device usw....) und gehen auf die Seite zum anlernen von IR Befehlen ("Home", beim neuen Device "More Options" und dann "Learn infrared commands"). Wichtig: wenn auch die Standardbefehle wie "PowerToggle", "VolumeDown" oder "DirectionUp" übertragen werden sollen, muss die eingestellte Sprache auf der Harmony Webseite Englisch sein.
Als nächstes konfigurieren wir Tamper Data so, dass wir mehrere Elemente gleichen Namens hinzufügen können: Im Firefox Menü "Extras" - "Add-ons" Tamper Data auswählen, "Einstellungen" anklicken und den Haken bei "Hinzugefügte Header ersetzen vorhandene" wegmachen, "Schließen" anwählen.
Tamper Data starten über "Extras" - "Tamper Data" und aktivieren "Tamper beginnen". Ab jetzt werden alle Aktionen die Netzwerkaktivität hervorrufen abgefangen.
Auf der Logitech Seite "Learn New Command" auswählen.
Das "Tamper Request?" Fenster erscheint. Hier den Haken bei "Tamper fortsetzen?" entfernen und "Tamper" auswählen.
In der rechten Fensterhälfte das Element "WebProcessAction...." entfernen (Rechte Maustaste auf den Text, "Element löschen")
Nun die neuen Elemente einlesen: Rechte Maustaste in der rechten Fensterhälfte und "Elemente aus Datei hinzufügen" auswählen. Die Datei rc5_input.txt auswählen und "Öffnen". Jetzt erscheinen "OtherCommand" Elemente mit jeweils einem Befehlsnamen in der rechten Fensterhälfte.
Mit "Ok" bestätigen und die Datei "LearnIr.EZTut" abspeichern. Jetzt wird mit dem Befehl
./concordance -l LearnIr.EZTut -prc5.txt
das Anlernen gestartet, wobei concordance die Datei rc5.txt einliest und immer wenn ein zu erlernender Name in der Datei steht der entsprechende Pronto Hex Code übertragen wird.
Nach ein paar Sekunden (ca 1 bis 3 pro Befehl) sollte concordance mit "Success!" seine Arbeit quittieren und die Webseite automatisch wieder auf die vorhergehende Seite wechseln, nur das dort jetzt unseren schönen neuen Codes auch auftauchen!.
Probleme
1. Falls von der Fernbedienung zu viele Befehle gesendet werden (z.B. beim Zappen springt der VDR zwei oder mehr Kanäle):
- Fehlerbehebung
- KLS PVR
- PVR reagiert auf bestimmte Befehle zu stark oder nur gelegentlich.
- 1 wählen
- Speichern
