Zum Inhalt springen
Startseite » VDR per Fernbedienung starten und stoppen

VDR per Fernbedienung starten und stoppen


Ich habe hier einen kleinen Raspberry Pi Server mit Debian jessie stehen, der meine Hausautomation mittels fhem managed.
Da mein Beamer u.a. mit einem VDR zum Fernsehen versorgt wird, kam mir die Idee, den Raspi dafür zu mißbrauchen, dann könnte ich das Kabelgewirr im Zuspielerschrank etwas reduzieren, da zur Zeit ein kleiner ION Rechner(mit externem Netzteil) mit USB DVB-C Empfänger (ebenfalls mit externem Netzteil) den VDR zur Verfügung stellt.


In meinem Wohnzimmer habe ich bereits einen VDR stehen und da war es naheliegend den Raspi per Streamdev-Server an den Wohnzimmer VDR anzubinden, das klappte auch recht problemlos.
Jetzt wollte ich aber den Raspi-VDR nicht die ganze Zeit laufen lassen und ihn per Fernbedienung starten und stoppen, ohne daß der Raspi dann gleich runterfährt, der sollte ja weiterhin den fhem zur Verfügung stellen.
Nach ein wenig Recherche fand ich irexec, mit dem das Ganze realisierbar schien. Allerdings funktionierte nicht alles so, wie im Netz beschrieben, nach ein wenig überlegen und probieren habe ich dann aber eine praktikable Lösung gefunden, die ich hier zusammenfassen möchte.

Zuerst erstellt man in /etc/lirc eine lircrc mit folgendem Inhalt:

begin
prog = irexec
button = KEY_POWER
config = /sbin/vdronoff
end

Das sorgt dafür, daß irexec beim Drücken der ‚Power‘-Taste auf der Fernbedienung das Skript vdronoff startet.

Damit irexec beim Systemstart gestartet wird und im Hintergrund „horcht“, trägt man es in die rc.local ein

/usr/bin/irexec -d /etc/lirc/lircrc

Die Option -d sorgt dafür, daß irexec als Daemon gestartet wird.

Nun erstellt man in /sbin das Skript vdronoff mit folgendem Inhalt.

#!/bin/bash
 # pidof: 0 = läuft, 1 = läuft nicht
 
if [ `pidof vdr` > "0" ]
then
 sudo service vdr stop
else
 sudo service vdr start
fi

exit 0


Das Skript „schaut“ nach ob der VDR läuft und reagiert entsprechend mit einem Stoppen oder Starten des VDR.
Voraussetzung ist natürlich, daß es ein entsprechendes Startskript in /etc/init.d gibt um den VDR zu starten, bzw. zu stoppen.
Wird der VDR über runvdr gestartet muß man das Skript entsprechend anpassen.

Damit der Raspi nicht runtergefahren wird, wenn man die ‚Power‘-Taste drückt, muß man in /etc/default/vdr noch die Zeile

VDRSHUTDOWN=/usr/local/bin/vdroff.sh

auskommentieren.

Da das Ganze auf root-Ebene läuft und man kein Passwort eingeben kann und will um die Befehle abzuarbeiten, muß man noch in /etc/sudoers.d eine neue Datei mit folgendem Inhalt erstellen:

user xxxxx = (root) NOPASSWD: /sbin/vdronoff

xxxxx ist dabei durch den eigenen User zu ersetzen, diese Zeile sorgt dafür, daß vdronoff als root ohne Passworteingabe gestartet wird.

Das war’s auch schon, nach einem Neustart sollte sich der VDR jetzt mit der Fernbedienung starten und stoppen lassen, was noch fehlt ist eine Rückmeldung, ob der Fernbedienungstastendruck zum Starten des VDR auch angekommen ist, da muß ich mir noch was überlegen. Beim Stoppen zeigt der VDR in seinem OSD eine Meldung an, daß er heruntergefahren wird.

Schreibe einen Kommentar

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