Raspberry Pi – RaspBMC – RC6 IR-Empfänger und XBMC Lircmap.xml

In einem meiner letzten Artikel habe ich bereits angedeutet, dass ich mittlerweile einen Raspberry Pi als Media-PC im Schlafzimmer produktiv im Einsatz habe.

Natürlich sollte sich der Raspberry Pi mit einer Logitech Harmony steuern lassen – typisch. 😉 Auf dem Raspberry Pi lief zum Zeitpunkt der HowTo RaspBMC RC3 mit dem Linux-Kernel …

uname -r
3.6.11

… und der LIRC Version

ircd -v
lircd 0.9.1-git

Welche RC6 Infrarot-Empfänger funktionieren mit dem Raspberry Pi?

Da ich recht gute Kontakte zum CoHauS Shop habe, habe ich mir von Tino mal 3 beliebte RC6 IR-Empfänger schicken lassen – IR605Q (links), IR606Q (mitte) und OVU411000 (rechts).

rc6 ir ir605q ir606q ovu411000 600x161 - Raspberry Pi - RaspBMC - RC6 IR-Empfänger und XBMC Lircmap.xml

Alle 3 Empfänger werden von RaspBMC anstandslos, mit dem Modul mceusb, erkannt.

RC6 Infrarot Empfänger, Modell IR605Q

cat /proc/bus/input/devices
I: Bus=0003 Vendor=147a Product=e03e Version=1101
N: Name="Media Center Ed. eHome Infrared Remote Transceiver (147a:e03e)"
...
N: Name="MCE IR Keyboard/Mouse (mceusb)"

RC6 Infrarot Empfänger, Modell IR606Q

cat /proc/bus/input/devices
I: Bus=0003 Vendor=147a Product=e042 Version=1101
N: Name="Media Center Ed. eHome Infrared Remote Transceiver (147a:e042)"
...
N: Name="MCE IR Keyboard/Mouse (mceusb)"

Philips RC6 Infrarot Empfänger, Modell OVU411000

cat /proc/bus/input/devices
I: Bus=0003 Vendor=0471 Product=060d Version=0101
N: Name="Media Center Ed. eHome Infrared Remote Transceiver (0471:060d)"
...
N: Name="MCE IR Keyboard/Mouse (mceusb)"

Die Logitech Harmony funktioniert nun teilweise schon in XBMC, nicht alles, aber einiges – darum geht es hier jetzt auch noch weiter. 😉

Werden Tasten der Logitech Harmony (200) mit Windows Media Center SE Profil erkannt?

Ja, per SSH auf den Raspberry Pi einloggen, irw eingeben und fröhlich auf den Tasten herumdrücken.

166 0 KEY_INFO devinput
166 0 KEY_INFO_UP devinput
18e 0 KEY_RED devinput
18e 0 KEY_RED_UP devinput
67 0 KEY_UP devinput
67 0 KEY_UP_UP devinput

Der ein oder andere von euch wird sich jetzt denken: „What the fuck? Das ist doch sehr wahrscheinlich …

Worauf ich in diesen Abschnitt eigentlich hinaus will, ist, dass die Fernbedienung, mit den vielen von Sam Nazarko hinzugefügten LIRC-Frequenzdateien (*lircd.conf), damit möglichst viele FBs von RaspBMC out-of-the-box erkannt werden, als devinput (Fernbedienungsname) von LIRC erkannt wird.

Wie passt man nun Nico’s alte Lircmap.xml für RaspBMC an, so dass alle Tasten funktionieren?

Klar sollte sein, dass man auch einfach alle LIRC-Frequenzdateien (*lircd.conf) aus /etc/lirc löschen kann und die altbekannte lircd.conf und Lircmap.xml von mir verwenden kann. Da ich aber so wenig wie möglich an den RaspBMC Standardeinstellungen verändern wollte, um den Konfigurationsaufwand für euch so gering wie möglich zu halten, wollte ich diesen Schritt vermeiden.

So fängt meine alte Lircmap.xml an:

<!--                              Logitech Harmony                                -->
<!--                          loggn.de - Nico Hartung                             -->
<!--                            https://www.loggn.de/                              -->
<!--                                                                              -->
<lircmap>
    <remote device="mceusb">
        <!-- no Display -->
        <power>KEY_POWER</power>
        <teletext>Teletext</teletext>

In der gelb markierten Zeile seht ihr nun, warum mir der Fernbedienungsname vorhin so wichtig war. Diese Lircmap.xml würde von XBMC nur verwendet werden, wenn der LIRC-Fernbedienungsname mceusb wäre. Damit die Lircmap.xml bei dem Fernbedienungsnamen mceusb und devinput verwendet wird, muss eine zusätzliche Zeile in die Lircmap.xml hinzugefügt werden.

<!--                              Logitech Harmony                                -->
<!--                          loggn.de - Nico Hartung                             -->
<!--                            https://www.loggn.de/                              -->
<!--                                                                              -->
<lircmap>
    <remote device="mceusb">
    <altname>devinput</altname>
        <!-- no Display -->
        <power>KEY_POWER</power>
        <teletext>Teletext</teletext>

Die Zeile mit altname steht hier für einen Alternativnamen, neben mceusb.

Bei Pastebin habe ich meine aktuelle Lircmap.xml gepostet, diese könnt ihr gerne kopieren – unter RaspBMC gehört die Lircmap.xml in /home/pi/.xbmc/userdata/.

vi /home/pi/.xbmc/userdata/Lircmap.xml

Der Vollständigkeit halber poste ich euch auch noch meine angepasste Keyboard.xml für XBMC bei Pastebin, diese gehört unter RaspBMC in /home/pi/.xbmc/userdata/keymaps/.

mkdir /home/pi/.xbmc/userdata/keymaps
vi /home/pi/.xbmc/userdata/keymaps/Keyboard.xml

Viel Spaß mit euerem Raspberry Pi und RaspBMC. mrgreen - Raspberry Pi - RaspBMC - RC6 IR-Empfänger und XBMC Lircmap.xml

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

29 Gedanken zu „Raspberry Pi – RaspBMC – RC6 IR-Empfänger und XBMC Lircmap.xml“

    1. Hi namerp, ich wüsste nicht warum.
      RaspBMC basiert auf Raspbian, einem für den RPI optimierten Debian – außerdem kann man an OpenELEC nichts bzw. nicht viel anpassen, da es read-only ist.

      Gruß

      1. Naja OE bringt ja nicht den Debian Balast mit und ist vom Grund her „Optimiert“ für XBMC.

        Anpassen ? Zusätzliche Dienste etc können ja nachgeladen werden. Mangels RPi kann ich schlecht vergleichen 🙂

        1. Hi namerp, das stimmt natürlich – aber ich glaube nicht, dass das so schwer ins Gewicht fällt. OpenELEC ist für mich aber keine Alternative, da ich immer die Möglichkeit möchte etwas am System zu verändern.

          Gruß

  1. Hi,

    super Reihe dein Bericht über den Raspi! Das hilf sehr vielen, die es ebenfalls ausprobieren wollen..

    Noch ne Frage zu den 3 IR-Empfängern: Kannst du einen empfehlen? Gibts Pros und Kontras? (Größe, mit oder ohne Verländerungskabel, etc…)

    Danke und Gruß

    A.

    1. Hi Ausnahmefehler, danke für die Blumen. 😉

      Ich habe 2 IR605Q, einem an meinem Media-PC im Wohnzimmer (Intel Atom + NVIDIA GPU) und einem am RPI. Dieser ist auch am handlichsten und kleinsten – USB Verlängerungskabel gibt es dazu. 😉

      Bei mir klebt er mit tesa Powerstrip am oberen Rand des Fernsehers – siehst du auf diesem Bild. :mrgreen:

      Gruß Nico

  2. Den IR605Q kann ich empfehlen. Dieser läuft bei mir auch auf dem RaspberryPi mit Openelec 2.99 out of the Box und der Logitech Harmony 200.

    Man sollte allerdings sagen, das IR Fernbediehnungen sehr träge beim Tastendruck reagieren. Absolut kein Vergleich mit Funk, Bluetooth oder Remote Apps per WLAN/WiFi.

    Jedenfalls ist das bei meiner Logitech Harmony so. Da man auf den Support angewiesen ist um Latenzen einstellen zu können, ist das meist sehr ärgerlich. Vor allem wenn man dem Support Menschen erklären muss was Latenz bedeutet.

    Ich empfehle eine Bluetooth Tastatur zu nutzen.

    Hier nochmal der Artikel: https://mediaexperience.com/xbmc-remote-control/

    1. Hi Jens, vielleicht hättest du beim Logitech-Support nicht das Wort „Latenzen“ erwähnen sollen, sondern „Tastenverzögerung“ – die Mitarbeiter werden sicherlich nur auf das Wort „Tastenverzögerung“ geschult. :mrgreen:

      Ich hatte bisher keine Probleme mit dem Logitech-Support, alles lief immer schnell und problemlos ab. 😉

      Gruß Nico

  3. Man sollte doch auch erwähnen das man sich das ganze IR-Empfänger Zeug getrost sparen kann solange man einen HDMI Fernseher hat der CEC unterstützt. Damit läßt sich dann das XBMC dann Problemlos mit der TV Fernbedienung (bzw. Harmony) steuern ohne auf zusätzliche Hardware angewiesen zu sein. Vorallem das seit XBMC Frodo die benötigte „libcec“ Bestandteil der Version ist.

    Funktioniert wunderbar mit dem Raspberry.

    1. Stimmt und kann ich bestätigen. 🙂 läuft einwandfrei. CEC ist was feines. Allerdings empfinde ich die Haptik mit der WiiMote am angenehmsten. Da kann man auch mal unter der Wolldecke das Gerät bedienen. Wer eine große Musik Bibliothek hat, sollte direkt YATSE aus dem Google Störe für das Smartphone laden. Beste xbmc app die ich getestet habe.

      1. Hi Alex, hi Jens,

        mit meinem Toshiba 26EL934G funktionieren, mit der originalen Fernbedienung, nur die OK-Taste und die Pfeiltasten – also für mich ist HDMI-CEC nicht zu gebrauchen!

        Gruß Nico

  4. Habe mir jetzt auch ein Raspberry Pi zugelegt. Und auch mit Raspbmc. Ich will mir so ein IR Adapter zulegen, weil das CEC mit meinem LG nicht funktioniert.
    Das Problem ist ja, dass der Raspi kein On/Off Switch hat. Außerdem hab ich eine Harmony One. Kann man, bzw. hast du in der lirc .conf ein „shutdown-signal“ konfiguriert?

    Strom bezieht der kleine über den USB Port vom Fernseher…Hard-Reset ist ja nicht gerade förderlich :/

    1. Hi Toni, nein, ich habe in der lirc.conf kein „shutdown-signal“ konfiguriert.
      Ich schalte nur den Fernseher aus, der RPI läuft rund um die Uhr. 😉

      Gruß Nico

      1. Und genau das wollte ich vermeiden. (Ja, ich weiß, dass der kleine kaum Strom zieht!)

        Ist dir sonst eine Möglichkeit bekannt, ihn per Harmony auszuschalten?

  5. Hallo,

    Ich habe mir den OVU411000 zugelegt, mit dieser raschen Anleitung funktioniert das Empfangen gut und ohne Probleme.
    Nun versuche ich per irsend IR Blasting zu machen (irsend -d /dev/lircd send_once Yamaha_RAV302 „DTV/CBL“).
    Mäßiger Erfolg, die Led auf der Oberseite leuchtet bei meinen gesendeten Befehlen, mit einer Handy-Kamera sehe ich jedoch keine IR-Leuchte – und es passiert auch nichts!
    Hat mit einem der Devices schon jemand IR-Signale gesendet oder steht „IR-Empfänger“ dafür, dass diese Geräte nur empfangen können?

    beste Grüße,
    Stefan

  6. Hallo und vielen Dank für dieses Tut! Meine Harmony One funktioniert nahezu anstandslos. Eine Frage habe ich dennoch: funktioniert bei dir die Zurück-Taste richtig? Wenn ich zum Beispiel ein Video abspiele agiert bei mir die Zurück-Taste als -7-Sekunden-Sprung. Des Weiteren funktioniert die Menü-Taste nicht so, wie ich mir das dachte. Ich habe vermutet, dass sie das Kontextmenu hervor ruft – tut sie aber nicht. Weißt du, woran das liegen könnte?

  7. Hi Nico,

    habe mir aufgrund deines Tutorials nun den IR605Q bei Cohaus bestellt. Was ich allerdings noch nicht ganz verstanden habe: Welches „Gerät“ muss ich denn nun in der Logitech Harmony Software dafür eintragen?

    Danke für deinen Support 🙂
    Maik

      1. Hat grundsätzlich super geklappt, bin begeistert, wie einfach das (mit deiner Anleitung) einzubinden war.
        Ich würde nun gerne einzelne Tasten anders belegen, insbesondere im Touchscreen meiner Harmony One sind im Standardprofil einige Funktionen hinterlegt (Filme, Serien,…) die so nicht funktionieren. Die Neuzuordnung in der Harmony-Software ist auch nicht möglich, da diese für das benutzte Gerät (Windows Media Center SE) eben nur die dazu passenden Befehle auflistet.
        Muss ich nun in der LircMap.xml die Befehle umbiegen um z.B. einer Tochscreen- oder Zusatztaste eine andere Funktionalität zuzuweisen?
        Hast du dazu vielleicht schon mal irgendwo etwas geschrieben? Blicke da gerade nicht so ganz durch 😉

        Beste Grüße
        Maik

        1. Hi Maik, genau.

          Zuerst musst du mit irw schauen, wie die Befehle heißen bzw. ob diese überhaupt übertragen werden.
          Dann schaust du ob die Taste mit der Lircmap.xml ins XBMC gemappt wird.
          In der Keyboard.xml kannst du dann, wenn benötigt, eine spezielle Funktion für die Taste hinterlegen.

          Gruß Nico

          1. Hm, ich steige glaube ich noch nicht komplett durch, werde mich aber erstmal dran versuchen. Danke für die Tipps 🙂

    1. Hi Miro,
      hier:

      Bus 004 Device 002: ID 147a:e03e Formosa Industrial Computing, Inc. Infrared Receiver [IR605A/Q]
      Device Descriptor:
      bLength 18
      bDescriptorType 1
      bcdUSB 2.00
      bDeviceClass 0 (Defined at Interface level)
      bDeviceSubClass 0
      bDeviceProtocol 0
      bMaxPacketSize0 8
      idVendor 0x147a Formosa Industrial Computing, Inc.
      idProduct 0xe03e Infrared Receiver [IR605A/Q]
      bcdDevice 10.01
      iManufacturer 1 Formosa21
      iProduct 2 eHome Infrared Transceiver
      iSerial 3 00106B29
      bNumConfigurations 1
      Configuration Descriptor:
      bLength 9
      bDescriptorType 2
      wTotalLength 57
      bNumInterfaces 2
      bConfigurationValue 1
      iConfiguration 0
      bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
      MaxPower 100mA
      Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      Endpoint Descriptor:
      bLength 7
      bDescriptorType 5
      bEndpointAddress 0x01 EP 1 OUT
      bmAttributes 3
      Transfer Type Interrupt
      Synch Type None
      Usage Type Data
      wMaxPacketSize 0x0008 1x 8 bytes
      bInterval 1
      Endpoint Descriptor:
      bLength 7
      bDescriptorType 5
      bEndpointAddress 0x82 EP 2 IN
      bmAttributes 3
      Transfer Type Interrupt
      Synch Type None
      Usage Type Data
      wMaxPacketSize 0x0010 1x 16 bytes
      bInterval 1
      Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 0 No Subclass
      bInterfaceProtocol 0 None
      iInterface 0
      HID Device Descriptor:
      bLength 9
      bDescriptorType 33
      bcdHID 1.00
      bCountryCode 0 Not supported
      bNumDescriptors 1
      bDescriptorType 34 Report
      wDescriptorLength 19
      Report Descriptors:
      ** UNAVAILABLE **
      Endpoint Descriptor:
      bLength 7
      bDescriptorType 5
      bEndpointAddress 0x83 EP 3 IN
      bmAttributes 3
      Transfer Type Interrupt
      Synch Type None
      Usage Type Data
      wMaxPacketSize 0x0008 1x 8 bytes
      bInterval 10
      Device Status: 0x0000
      (Bus Powered)

      Gruß Nico

  8. Hallo Nico,
    kann ich auch die Infrarot Empfänger von der Logitech Elite Fernbedienung für den Raspberry Pi verwenden? Wenn ja wie ich den Empfänger installieren kann.

    Gruß Jörg

    1. Hi Jörg,

      ja die Infrarot Empfänger funktionieren auch mit der Logitech Elite. Die Infrarot Empfänger werden automatisch vom RPi mit LibreELEC erkannt.
      Der Rest steht oben im Artikel, sollte aber mittlerweile alles, ohne jegliche Anpassung, funktionieren. :mrgreen:

      Gruß Nico

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert