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 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 remote.conf habe ich wieder rausgenommen, 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: http://hellg.bplaced.net/concordance/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