easyVDR Forum Fernbedienungen und andere Eingabegeräte
Pages: 1
HOWTO: IR-Trans Server in EasyVDR einbinden By: mechlon Date: Oktober 29, 2007, 12:01:27
Hallo,

nachdem ich einige Schwierigkeiten hatte meine MCE-Fernbedienung in easyvdr zum laufen zu bekommen und auch  die Informationen im Internet spärlich sind, schreibe ich mal das Howto.

Grundlage:
Ich habe ein Origenae X15e Gehäuse mit integriertem IR-Empfänger Origenae IR110 und eine Mediacenter Fernbedienung ( http://www.origenae.com/en/accessory_ir110.htm )

Da LIRC meines Wissens keine RC6 Fernbedienung unterstützt, musste ich auf eine Software der Firma IRTrans den IR-Server einbinden. Die eine LIRC-Dienst dem VDR zur Verfügung stellt.

Da ich das Rad ja nicht neu erfunden habe, bedanke ich mich bei
Helmar Gerloni, der die meisten Informationen auf seine Internetseite veröffentlicht hat


http://www.gerloni.net/LinuxVDR/#INIRVFD


Die Software gibt es hier

http://www.irtrans.de/de/download/linux.php


Das Archiv muss entpackt werden. Danach wird die Datei install.sh gestartet.
Zitat
vdr:# sh install.sh

Die Dateien werden nach  /usr/local/irtrans/ kopiert.  Im Verzeichnis remotes/ befinden sich die Definitionen der Tasten-Codes von verschiedenen Fernsteuerungen. Mit
Zitat
vdr:# cd /usr/local/irtrans
vdr:# ./irserver -debug_code -loglevel 4 /dev/ttyUSB0
werden die von der IR-Fernsteuerung gesendeten Codes angezeigt, z.B.

Zitat
7500c38011000000[0.0] ok mediacenter
[0.0]: S11101010000000000011110000010001001000 48

Die zweite Zeile entspricht einer nicht unter remotes/ aufgelisteten Taste. Die angezeigten Daten können zur Ergänzung von fehlenden Tastatur-Codes unter remotes/ verwendet werden. Da remotes/mediacenter.rem am besten auf die bei mir mitgelieferte Fernbedienung passt, habe ich die fehlenden Einträge dort nachgetragen und die restlichen remotes/*.rem-Dateien gelöscht. Der Eintrag für den obigen unbekannten Code lautet z.B.
Zitat
  [tvrec][T]0[D]S11101010000000000011110000010001001000

Alternativ können die Codes auch automatisch mit dem Kommando irclient in die Konfigurationsdatei eingetragen werden.

Hier ist meine Datei remotes/mediacenter.rem.
Code: [Auswählen]
[REMOTE]
  [NAME]mediacenter

[TIMING]
  [0][N]0[RC]1[RP]0[FREQ]36[SB][RC6]

[COMMANDS]
  [power][T]0[D]S11101010000000000011110000010000001100
  [stop][T]0[D]S11101010000000000011110000010000011001
  [rec][T]0[D]S11101010000000000011110000010000010111
  [pause][T]0[D]S11101010000000000011110000010000011000
  [play][T]0[D]S11101010000000000011110000010000010110
  [rew][T]0[D]S11101010000000000011110000010000010101
  [fwd][T]0[D]S11101010000000000011110000010000010100
  [prev][T]0[D]S11101010000000000011110000010000011011
  [next][T]0[D]S11101010000000000011110000010000011010
  [back][T]0[D]S11101010000000000011110000010000100011
  [info][T]0[D]S11101010000000000011110000010000001111
  [ok][T]0[D]S11101010000000000011110000010000100010
  [left][T]0[D]S11101010000000000011110000010000100000
  [T]0[D]S11101010000000000011110000010000100001
  [up][T]0[D]S11101010000000000011110000010000011110
  [down][T]0[D]S11101010000000000011110000010000011111
  [vol+][T]0[D]S11101010000000000011110000010000010000
  [vol-][T]0[D]S11101010000000000011110000010000010001
  [start][T]0[D]S11101010000000000011110000010000001101
  [ch+][T]0[D]S11101010000000000011110000010000010010
  [ch-][T]0[D]S11101010000000000011110000010000010011
  [mute][T]0[D]S11101010000000000011110000010000001110
  [tvrec][T]0[D]S11101010000000000011110000010001001000
  [epg][T]0[D]S11101010000000000011110000010000100110
  [livetv][T]0[D]S11101010000000000011110000010000100101
  [dvdmenu][T]0[D]S11101010000000000011110000010000100100
  [1][T]0[D]S11101010000000000011110000010000000001
  [2][T]0[D]S11101010000000000011110000010000000010
  [3][T]0[D]S11101010000000000011110000010000000011
  [4][T]0[D]S11101010000000000011110000010000000100
  [5][T]0[D]S11101010000000000011110000010000000101
  [6][T]0[D]S11101010000000000011110000010000000110
  [7][T]0[D]S11101010000000000011110000010000000111
  [8][T]0[D]S11101010000000000011110000010000001000
  [9][T]0[D]S11101010000000000011110000010000001001
  [0][T]0[D]S11101010000000000011110000010000000000
  [ast][T]0[D]S11101010000000000011110000010000011101
  [hash][T]0[D]S11101010000000000011110000010000011100
  [clear][T]0[D]S11101010000000000011110000010000001010
  [enter][T]0[D]S11101010000000000011110000010000001011
  [tvtext][T]0[D]S11101010000000000011110000010001011010
  [red][T]0[D]S11101010000000000011110000010001011011
  [green][T]0[D]S11101010000000000011110000010001011100
  [yellow][T]0[D]S11101010000000000011110000010001011101
  [blue][T]0[D]S11101010000000000011110000010001011110

Der LIRC-kompatible Server wird mit
Zitat
vdr:# ./irserver -daemon /dev/ttyUSB0
als Daemon gestartet.

Das Init-Skript /etc/init.d/irserver von Helmar Gerloni gibt's hier.

Code: [Auswählen]
#! /bin/sh
### BEGIN INIT INFO
# Provides:          irserver
# Required-Start:
# Default-Start:     2
# Default-Stop:
# Short-Description: IRTrans Infrared Control
# Description:       Starts the IRTrans Infrared Control Server.
### END INIT INFO
#
# Author:            Helmar Gerloni <helmar@gerloni.net>
# Version:           2006-03-17
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="IRTrans Infrared Control Server"
NAME=irserver
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

#
#   Function that starts irserver.
#
d_start() {
   start-stop-daemon --start --chdir /usr/local/irtrans/ --exec /usr/local/irtrans/irserver -- -no_web -daemon -logfile /var/log/irserver.log /dev/ttyUSB0
   if [ $? -gt 0 ]; then
      # After stopping irserver with the "irclient -shutdown" command the server-port 21000/tcp
      # is not closed properly. The port stays in status TIME_WAIT and is released only after the tcp-timeout.
      # After this timeout the server can be started again.
      echo "Error starting irserver."
      echo "If you just stopped irserver before please wait for a few seconds and try again."
      exit $?
   fi
   expr $$ + 2 > $PIDFILE
}

#
#   Function that stops irserver.
#
d_stop() {
   # Stopping the daemon with start-stop-daemon does not turn off the VFD display
   # start-stop-daemon --stop --quiet --pidfile $PIDFILE
   # A single shutdown might not be enough
   /usr/local/irtrans/irclient 127.0.0.1 -shutdown &
   /usr/local/irtrans/irclient 127.0.0.1 -shutdown
   if [ $? -gt 0 ]; then
      echo "Error stopping irserver on localhost. Probably irserver is not running."
   fi
}

case "$1" in
  start)
   echo -n "Starting $DESC: $NAME"
   d_start
   echo "."
   ;;
  stop)
   echo -n "Stopping $DESC: $NAME"
   d_stop
   echo "."
   ;;
  restart|force-reload)
   echo -n "Restarting $DESC: $NAME. Waiting for 60 seconds before starting again..."
   d_stop
   sleep 61
   d_start
   echo "."
   ;;
  *)
   echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
   exit 1
   ;;
esac

exit 0

Den Server starte ich /etc/init.d/RCSTartBeforVDR.d/RCPersonal mit dem Eintrag

Zitat
/etc/init.d/irserver start


EasyVDR-Einstellungen

OSD
10 System
10.2 VDR-Setup
10.2.3 Fernbedienung
         1 Lirc-Einstellungen

Lirc-nutzen auf Nein

gestellt und die /etc/vdr/remote.conf umbenannt.
Nachdem Neustart des VDR bin ich aufgefordert worden die Fernbedienung und die Tatstatur neu anzulernen.
Die Tastatur wird nicht erkannt :-(
Damit die Abfrage nicht jedes mal erscheint habe ich einen Tastatureintrag aus der alten remote.conf in der neuen eingetragen.

Gruß
   Ralf