X10 Fernbedienung mit lirc einrichten

Grundlagen

Installation

Konfiguration

Die ModelleSoftwareinst. via inputlircKonfiguration – Treiber
Signalverarbeitung Softwareinst. via  hardware.confKonfiguration Tastenzuordnungen
Tasten Befehle und Funktionen zuordnen
ProblemlösungenTipps und Tricks
———————————————-———————————————-———————————————-

Die X10 Fernbedienungsmodelle

Die X10 Fernbedienungen von Medion übertragen Signale per Funk statt über Infrarot. Somit ist kein direkter Sichtkontakt nötig und die Fernbedienung ist nahezu in der ganzen Wohnung nutzbar ( z.B. Lautstärkeregelung  in anderen Räumen  ).

Einige Modelle :

Remotecontrol_RC_X10_2Remotecontrol_RC_X10_1Remotecontrol_RC_X10_4Remotecontrol_RC_X10_3Remotecontrol_RC_X10_5Remotecontrol_RC_X10_receiver
Medion 2002Medion OR24VMedion OR33VMedion 8080Medion OR28VExterner Empfänger

Signalverarbeitung durch Lirc/Inputlirc

Die Signalverarbeitung von der Eingabe auf der Fernbedienung bis zur Aktion im KODI Mediacenter :

  1. Das Drücken einer Taste auf der Fernbedienung löst über den Empfänger und den geladen Treiber ( Blau .ko Modul ) ein Kernelevent ( Grün ) aus.
  2. In der /etc/lircd/lircd.conf Datei werden die Kernelevents in interpretierbare Bezeichnungen übersetzt ( bei der Nutzung von inputlirc nicht nötig, da inputlirc die Zuweisung einer Keymap übernimmt ).
  3. Die in der /etc/lircd/lircd.conf bzw. von inputlirc zugeordneten Tasten werden in der  ~/.xbmc/userdata/Lircmap.xml XBMC Tasten zugewiesen.
  4. Die ~/.xbmc/userdata/keymaps/remote.xml wiederum wird genutzt um die Menüs des XBMC zu steuern. Hier erfolgt die endgültige Zuordnung der Tasten in XBMC Steuerbefehle in Abhängigkeit des aktiven Fensters/Menus ( Ausführliche Info ).

Lirc_signal_pass

Zurück zur Übersicht

Installation

 

Installieren der Software ( Automatische Einrichtung der Fernbedienung mit inputlirc)

Wenn Lirc, Eventlirc und Inputlirc nicht installiert ist, reicht es, den Receiver anzuschließen und die Lautstärketasten der Fernbedienung (FB) zu probieren. Lässt sich die Lautstärke steuern, kennt der Kernel den Receiver und die FB. Eine passende Keymap ist im Verzeichnis /lib/udev/rc_keymaps/ vorhanden. Dabei kann es allerdings vorkommen, dass einige Tasten nicht vom Kerneltreiber erkannt oder zugewiesen werden. Dann kann auf Lirc zurückgegriffen werden :

Das Paket lirc-x ist optional um Desktopanwendungen zu steuern (für Kodi und den VDR nicht nötig). Mit Hilfe des folgenden Shell Befehls lassen sich Eingaben der Fernbedienung prüfen. Ist inputlirc richtig konfiguriert erscheinen neben den Kernelevents auch die Zuordnungen der einzelnen Tasten.

Sollte irw (nur bei aktivem lirc daemon), evtest oder ir-keytable keine Ausgabe liefern oder eine Fehlermeldung “recource is busy” etc, ist mit den Befehlen lsusb und/oder cat /proc/bus/input/devices zu prüfen ob der Empfänger vom System erkannt wurde ( Ausführliche Anleitung ).

Bei Nutzung der im Kernel eingebauten Lirc-Funktionen entfallen Befehle wie irw. Stattdessen ist das Programm ir-keytable zuständig

Zurück zur Übersicht

Installieren der Software ( Manuelle Einrichtung der Fernbedienung per hardware.conf und lircd.conf)

Falls inputlirc installiert wurde sollte es deinstalliert werden, da die manuelle Konfiguration ansonsten von der automatischen Einrichtung durch inputlirc bei jedem Neustart des Systems überschrieben wird.

Zurück zur Übersicht

Konfiguration

 

Konfiguration – Treiber

Wird bei der Installation des lirc-pakets in dem Konfigurationsdialog keine Auswahl getroffen ( beide Dialoge werden mit “None” bestätigt ), wird , falls vorhanden, der Kerneltreiber genutzt. Es kann vorkommen, dass der Kerneltreiber die Empfänger teilweise nicht richtig konfiguriert/erkennt. In dem Fall ist die Angabe eines Treibers in der /etc/lirc/lirc_options.conf nötig sowie ggf. das “Blacklisten” (automatisches laden des Treiber wird unterbunden) des Kerneltreibers. Das erstellen einer blacklist für lirc Module wird wie folgt realisiert :

Bei der MD 8800 Fernbedienung funktionieren mit inputlirc einige Tasten nicht. Es empfiehlt sich daher auf den externen Treiber atilibusb zurückzugreifen. Dieser kann bei der Konfiguration von lirc ( sudo dpkg-reconfigure lirc ) ausgewählt ( ATI/NVidia/X10 RF Remote (userspace) ) oder manuell in der /etc/lirc/lirc_options.conf ( driver = atilibusb ) eingetragen werden.

Der Befehl usb-devices listet die USB Geräte und weitere Informationen,  z.B. welcher Treiber geladen wurde etc.,  auf. ( Ausführliche Anleitung ) .

Zurück zur Übersicht

Konfiguration Tastenzuordnungen

Es gibt verschiedene Möglichkeiten die Tastenzuordnungen ( keymaps ) zu konfigurieren. Die einfachste Variante ist die Verwendung von inputlirc. Bei der Nutzung von inputlirc kann es allerdings vorkommen, dass nicht allen Tasten eine Aktion zugewiesen wurde. Dies kann an einer fehlenden oder falschen Zuordnung des Kernelevents zu einer Aktion/Taste liegen ( Fehler in der Keymap, Funkanal der FB passt nicht zur Keymap/Kernelevent s. Problemlösungen => Funkkanal der Fernbedienung ändern ).

Eine andere Variante, die zwar aufwendiger aber wesentlich mehr Konfigurationsmöglichkeiten bietet und unabhängig vom gewählten Funkkanal der Fernbedienung ist, ist die Erstellung einer eigenen Keymap mittels irrecord. Der lirc Dienst und irrecord können nicht parallel auf den Empfänger zugreifen. Daher muss mittels

der lirc Dienst gestoppt werden bevor irrecord auf den Empfänger zugreifen kann. Ist der lirc Dienst gestoppt kann unter der Angabe des verwendeten Treibers mit

eine Keymap erstellt werden. Für den o.g. Empfänger, bei Nutzung des atilibusb Treibers, wird mit folgenden Befehl die Keymapdatei MD_8800.conf erzeugt :

Alternativ kann mit sudo irrecord -H <Treibername> -d /dev/<das_ermittelte_device> /pfad/zur/lircd.conf explizit der Empfänger angeben werden.Der allgemeine Speicherpfad der lirc keymaps ist /usr/share/lirc/remotes/.

Das Einbinden der Keymapdatei kann auf verschiedenen Wegen realisiert werden :

  1. Keymapdatei kopieren und umbenennen ( cp ~/MD_8800.conf /etc/lirc/lircd.conf )
  2. Keymapdatei kopieren und verlinken ( cp ~/MD_8800.conf /etc/lirc/ && ln -s MD_8800.conf  lircd.conf )
  3. Keymapdatei kopieren und per include laden ( cp ~/MD_8800.conf /etc/lirc/ && echo “include /etc/lirc/MD_8800.conf  >> lircd.conf )
  4. Keymapdatei mit inputlirc laden ( Infos folgen )

Nachdem lirc mit sudo service lirc start nun wieder gestartet wurde wird bei richtiger Konfiguration in der irw Ausgabe jetzt für Kanal 1 der MD 8800 Fernbedienung der Kerneleventcode, die zugeordnete Taste und der Name der Fernbedienung angezeigt : 00000014ef1a0000 00 up MD_8800.

ACHTUNG : Das Ändern des Funkkanals der Fernbedienung ( s. Problemlösungen ) hat zur Folge, dass sich auch die Kernelevents ändern und somit die Zuordnung von Kernelevent zu einer Taste in der lircd.conf nicht mehr stimmt !

Zurück zur Übersicht

Tasten Befehle und Funktionen zuordnen

Um den von lirc zugewiesenen Kernelvents/Tasten Befehle zuzuordnen hängt es davon ab, wie und für welche Anwendungen die Fernbedienung genutzt werden soll. Für die allg. Zuweisung von Befehlen wird eine .lircrc-Datei im User-Homeverzeichnis benötigt ( s. Tasten_mit_Funktionen_belegen )

Für die Nutzung einer Fernbedienung unter XBMC muss den  in der lirc.conf zugewiesenen Tasten in der ~/.xbmc/userdata/Lircmap.xml der entsprechende XBMC Befehl zugeordnet werden. In der ~/.xbmc/userdata/Lircmap.xml wird die Ausgabe von lirc zu einer Eingabe an XBMC übersetzt. Die verschiedenen Eingaben des XBMC sind sehr anpassungfähig. Je nachdem welches Fenster/Menu gerade aktiv ist, kann einer Taste eine andere Funktion zugewiesen werden. Dies geschieht über die Datei ~/.xbmc/userdata/keymaps/remote.xml in der den Fenstern und Menüs dann wiederum bestimmten Tasten Aktionen zugewiesen werden.

 Zurück zur Übersicht

Problemlösungen 

Wechselndes “eventX”

Wenn es Probleme mit dem Ansprechen der Fernbedienung gibt, weil von Start zu Start (aufgrund unterschiedlicher Verwendung der USB-Anschlüsse o.ä.) unterschiedliche “events” ausgegeben werden, kann ggf. auch ein fester Wert in die hardware.conf eingetragen werden, unter dem dann die Fernbedienung immer erkannt werden sollte. Ein sudo irw und Drückern einer Taste der Fernbedienung gibt dann den eventX wert an. Ein ls -l /dev/input/by-path/* gibt die aktuelle Zuordnung der eventX Nummer zu den entsprechenden Geräten an.

Eintrag in der /etc/lirc/hardware.conf :

Doppeltes Ausführen von Befehlen

Falls keine korrekte Ausgabe erfolgt, oder falls es Probleme gibt, die Nummerntasten zu verwenden (nur für diese keine Ausgabe bei irw) hilft es, in einem Editor mit Rootrechten in der /etc/default/inputlirc-Datei folgende Optionen festzulegen:

Die Option -g ist mit Vorsicht zu verwenden; sie führt dazu, dass nur noch inputlirc auf die Impulse der festgelegten Geräte reagiert. Daher nur bei festgelegten events (s.o.) nutzen, sonst fällt ggf. Maus und Tastatur aus! (Die weiter unten beschriebene Anpassung von lirc.fdi sollte damit hinfällig werden). Die Parameter -m 0 sorgt dafür, dass alle Tasten erkannt werden; Standard ist, dass die Tasten unterhalb der Wertes 88 (das sind die der “Standard-Tastatur” ) nicht ausgelesen werden. Weiteres zu den verwendbaren Optionen in der man-Page (Befehl man inputlircd) ( Ausführliche Info )

Bei der Verwendung von XBMC (ohne inputlirc), hilft das Erstellen der  ~/.xbmc/userdata/advancedsettings.xml Datei mit folgendem Inhalt :

Kodi selbst fängt die mehrfache Tasteneingabe aus lirc dann eigenständig ab ( Ausführliche Info ).

 

Fernbedienung reagiert nicht mehr / Funkkanal der Fernbedienung ändern

Die Fernbedienungen senden auf bis zu 13 ( Anzahl der Kanäle nicht bestätigt ) versch. Funkkanälen. Das Wechseln des Funkkanal der Fernbedingung hat zur Folge, dass die Kernelevents ebenfalls wechseln und die lircd.conf nicht mehr passt. Der Funkkanal der o.g. Fernbedienungen kann wie folgt geändert werden :

  1. Die Runde Taste ( bei der MD 8800 die Weltkugel, bei der MD ogv24 die Windows taste ) ein paar Sekunden gedrückt halten.
  2. Wechselt die OK Taste von konstantem Leuchten zu einem Blinken kann der neue Kanal eingegeben werden.
  3. Neuen Kanal eingeben.
  4. Eingabe wird mit einem Blink bestätigt.
  5. Die Runde Taste zum Bestätigen des Funkkanalwechsels erneut drücken.
  6. Neue lircd.conf erstellen, falls nötig

 

Fernbedienung reagiert nur mir Pfeiltasten

Reagieren nur die Pfeil/Cursor- und Lautstärketasten der Fernbedienung, ist wahrscheinlich das falsche Kernelmodul geladen worden (ati_remote). Um ein Modul/Treiber vom automatischen laden auszuschließen gibt es die sog. blacklisten in dem Verzeichnis /etc/modprobe.d/ . Das erstellen einer blacklist für lirc Module wird wie folgt realisiert :

 

Programme reagieren nicht auf Befehle, irw gibt aber richtige Befehle aus

Der Lirc Socketdaemon, früher unter /dev/lircd gelistet, ist bei neueren Lirc Installationen nun /var/run/lirc/lircd erreichbar. Kodi bietet mit der Option -l die Möglichkeit einen neu definierten Lircsocket zu nutzen.

Alternativ kann ein Link beim Systemstart via /etc/rc.local oder über cron gesetzt werden :

Um die Fernbedienung für Kodi zu konfigurieren, muss der Name der Fernbedienung (/etc/lirc/lircd.conf.d/<remote_config_file> => Eintrag: name) in der ~/.kodi/userdata/cat Lircmap.xml eintragen werden ( <remote device=”Medion_X10_CHANNEL_1″> )

 

Zurück zur Übersicht

Tipps und Tricks

Aktuell geladene Keymap(s) können mit folgendem Befehl auslesen werden :

Mit ir-keytable ist es auch möglich Tastencodes der Fernbedienung zu ermitteln, z.B. um zu sehen ob überhaupt Tastendrücke erkannt werden oder um eine Keymap zu erstellen. Da Tastendrücke von eventlircd abgefangen werden, muss dieser Dienst gestoppt sein. Außerdem ist es empfehlenswert den VDR vorher zu stoppen, um eine unbeabsichtigte Fehlbedienung zu vermeiden. Die Standardkeymaps befinden sich in dem Ordner /usr/share/lirc/remotes/ .

Beispielausgabe ohne geladene Keytable.

Funkkanäle trennen : Klick

Zurück zur Übersicht

Kategorie(n): Anleitungen, IT Syntax, Linux, Multimedia

Schreibe einen Kommentar

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

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.