VDRFbDroid

Übersicht

Die Applikation VDRFbDroid stellt eine einfache Fernbedienung für einen oder mehrere ( bis zu 3) VDR Rechner zur Verfügung. Es wurde absichtlich darauf verzichtet, irgendwelche Benutzer Kommandos zu implementieren, die über die reine Fernbedienungsfunktion hinaus gehen.

Neben den üblichen Standart-Tasten der Fernbedienung gibt es jedoch eine Vielzahl von Makrotasten, die frei belegt werden können. Hier können dann jegliche Kombinationen von SVDRP Kommandos ausgeführt werden. Auch Scripte auf den VDR Systemen können aufgerufen werden. Durch ein Wischen nach links können zwei weitere Seiten mit freien Makrotasten erreicht werden.

Installation

Die installation erfolgt direkt aus dem Google-Playstore. Beim ersten Start wird nach einem Arbeitsverzeichnis gefragt. Dies kann entweder neu erstellt oder ausgewählt werden. Auch die Zugriffsberechtigung auf das Dateisystem wird abgefragt. In diesem Verzeichnis können später die Einstellungen der App in Form einer XML-Datei gespeichert werden. Diese können dann bei Bedarf nach einer Neuinstallation wieder geladen werden. Nach dieser Verzeichnis-Konfiguration können jetzt die ersten Einstellungen erledigt werden.

Erste Konfigurationen

Im Einstellungsdialog (wird über die in der Top Leiste der App erreicht) wird als erstes der VDR ausgewählt
(z.B. VDR - 1)

Hier müssen jetzt die IP-Addresse und der entsprechende SVDRP-Port eingegeben werden. Nun sind schon alle Grundfunktionen der Fernbedienung aktiv. Wenn die entsprechende MAC-Adresse eingegeben wird könnte man den ausgewählten VDR auch per Wake-On-Lan mit der Auswahltaste VDR* einschalten

Solange der VDR Rechner nicht erreichbar ist bleibt die Taste hellblau. Bei erfolgreicher SVDRP Verbindung ist die Taste grün eingefärbt. Wenn man die SVDRP Verbindung aus irgendwelchen Gründen abbrechen möchte führt ein einfacher Click auf diese Taste zu einer roten Taste. Sie wird allerdings irgendwann wieder grün (Verbindung ist wieder hergestellt), da automatisch alle 3 Minuten ein "PING" Kommando an den VDR gesendet wird.

Mit einem LongClick auf diese Taste kann mit Hilfe eines Auswahldialogs der zu bedienende VDR ausgewählt werden

Zum Ausschalten des VDRs kann für folgende Taste noch der Parameter VDROFF* gesetzt werden (Erklärung der Kommandos s.u.). Das entsprechende Kommando wird per Longclick auf die Taste ausgelöst um Fehlausschaltungen zu vermeiden.

Alle weiteren Konfigurationen können im laufenden Betrieb gemacht werden. Speziell die Makro Tasten können auch direkt belegt werden (s.u.) Der Nachtmodus schaltet einen dunklen Hintergrund ein oder aus. Der Benutzername wird für die Ausführung von direkten Kommandos oder Scripten auf Shell Ebene benötigt (s.u.)

Tasten der Fernbedienung

Die Standart Ferbedienungstasten funktionieren wie bei einer normalen Fernbedienung. Die Zifferntasten, das Steuerkreuz und die Lautstärketasten lösen bei einem LongClick eine Repeatfuntion aus. Alle anderen Standart-Tasten kennen nur den einfachen Click. Die Taste zwischen den beiden Lautstärke Tasten schaltet zwischen der Stummschaltung oder dem Wert der aktuellen Lautstarke hin und her. Da meine frühere IR-Fernbedienung oben in der Mitte immer die Channeltaste hatte ist diese auch fest in diesem Layout gelandet.

Makro Tasten

Zur Belegung einer Taste macht man einen Longclick auf der Taste. Es erscheint jetzt folgender Dialog:

Hilfe zur Belegung der Makrotasten

Erster Wert ist immer die Beschriftung der Taste (z.B. PAUSE)

Der letzte Wert kann die Farbe der Taste festlegen
z.b:c=red oder c=green oder c=yellow oder c=blue

1. Einfache hitk (svdrp) Kommandos


z.B: PAUSE menu yellow
Es würden hier die Kommandos "menu" und "yellow" nacheinander über die geöffnete SVDRP Session an den VDR gesendet. Bei einer Standartkonfiguration eines VDR hätte das dann das pausieren des laufenden TV-Streams zur Folge. Ein zweites Beispiel wäre:
PIPACT menu 8 2
Hiermit könnte die PIP-Funktion des softhddevice eingeschaltet werden. Vorraussetzung sind hierfür die entsprechenden Menu Positionen. Man könnte hier auch
PIPACT menu down down down down down down down down ok down down ok
schreiben.

2. Aufruf von zusammengesetzten Kommandos


z.B: MAIL "PLUG mailbox Main"
Hier würde im mailbox Plugin das Hauptmenu aufgerufen. Zusammengesetzte Kommandos werden in doppelte Anführungszeichen gesetzt.

3. Aufruf von direkten SVDRP-Kommandos zur Abfrage irgendwelcher Infos


z.B: Aufnahmen "SVDRP LSTR"
Hier steht das auszuführende Kommando mit dem Schlüsselwort SVDRP wieder in doppelten Anführungszeichen. Das Ergebnis von solchen Kommandos wird dann in einem PopUp Fenster angezeigt.

4. Aufruf von Scripten auf OS-Ebene

z.B: HALT "CMND /usr/local/bin/haltsystem.sh"
oder für nicht root:
z.B: EQON "CMND ssh username@hostname startpulseeffects.sh"

Für diese Art der Kommandos ist es notwendig den Benutzer aus den Einstellungen per SSH Verbindung vom Handy aus auf den VDR Rechner zugreifen zu lassen. Das entsprechenden Schlüsselpaar wird im Einstellungsmenu mit dem Punkt "Öffentlichen RSA Key speichern" einmalig erzeugt und bleibt bestehen bis zur Deinstallation der App. Der Menu Punkt speichert gleichzeitig den öffentlichen Schlüssel aus dem internen Schlüsselspeicher ins Arbeitsverzeichnis. Dies kann jederzeit wiederholt werden. Diese Datei kann dann an die Datei /home/<user>/.ssh/authorized_keys des entsprechenden VDR angehängt werden. Sie muß lediglich vom Handy auf den VDR-Rechner kopiert werden.

Diese Shell Kommandos werden immer in doppelte Anführungszeichen geschrieben und werden dann direkt auf dem VDR-Rechner ausgeführt. Hier ist eigentlich alles möglich, was in einer Shell möglich ist. Sollen Kommandos unter anderer Benutzerkennung ausgeführt werden Erfolgt die Verbindung zwischen App und Shell immer mit der einmal eingestellten Benutzerkennung. Es wird dann eine neue SSH Verbindung für diesen Benutzer auf dem VDR-Rechner ausgeführt. Dadurch ist es nur nötig den Öffentlichen Schlüssel einmalig für den Benutzer auf dem VDR Rechner zu speichern. Alle weitern SSH Verbindungen werden dann unter Kontrolle des VDR Rechners ausgeführt, d.h. es kommen dann die lokalen Schlüssel auf dem VDR Rechner zum tragen.
Ausgaben dieser Shell Kommandos werden, sofern vorhanden, in einem Popup Fenster auf dem Handy angezeigt.

Beispiel:

Dazu dann folgende Ausgabe:

Mit Hilfe dieses Mechanismus lassen sich auch komplexe Shellscripten starten, die dann irgendwelche Verwaltungsarbeiten übernehmen können. Die Ausgabe erscheint dann auf dem Handy.

Einstellungsmenü

Das Einstellungsmenu wird über die in der Top Leiste der App erreicht und enthällt folgende Einträge

- Einstellungen

siehe "Erste Konfiguration"

- Einstellungen sichern

Die gemachten Einstellungen können in einer XML Datei im Arbeitsverzeichnis der App gespeichert werden. Das es nicht möglich ist von außen auf die im Cache der App abgespeicherten Einstellungen direkt zuzugreifen, wird hier für den Anwender eine Kopie dieser Einstellungen abgelegt und kann dann auch direkt editiert werden. Vorsicht, bei Fehlern kann es sein, das die App dann abstürzt

- Einstellungen laden

Die Einstellungen werden aus der Einstellungdatei aus dem Arbeitsverzeichnis geladen werden. Dies könnte sinnvoll sein, wenn man verschiedene Scenarien ablegen möchte und dann nach Bedarf wieder in die App laden möchte. Auch wenn die App nei installiert wird könnte man sehr schnell über diese Einstellungsdatei wieder auf den vormaligen Stand kommen. Auch ein Umzug auf ein neues Handy ist mit einer Kopie schnell zu bewerkstelligen.

- Öffentlichen RSA Key speichern

(siehe "Aufruf von Scripten auf OS-Ebene" in der Makrotasten Erklärung)

- Neues Arbeitsverzeichnis

Diese Aktion weist der App ein neues Arbeitsverzeichnis zu. Es kann ein bestehendes Verzeichnis sein oder auch neu angelegt werden. In Zukunft wird die automatisch zum Speichern der Einstellungsdatei und der offentlichen Schlüsseldatei benutzt

- Hilfe für die Makrotasten

Eine kurze Hilfe zur Belegung der Makrotasten

- Historie

Übersicht über die Versionen und Änderungen

- Über...

Na, was wohl...

VDRFbDroid

Overview

The VDRFbDroid application provides a simple remote control for one or more (up to 3) VDR computers. It was deliberately decided not to implement any user commands that go beyond the pure remote control function.

In addition to the usual standard buttons on the remote control, there are a number of macro buttons that can be freely assigned. Any combination of SVDRP commands can be executed. Scripts on the VDR systems can also be called up. By swiping to the left, two additional pages with free macro buttons can be accessed.

Installation

The installation is done directly from the Google Play Store. When starting for the first time, you will be asked for a working directory. This can either be newly created or selected. You will also be asked for access permission to the file system. This directory can later be used to save the app settings in the form of an XML file. These can then be reloaded if necessary after a new installation. After this directory configuration, the first settings can now be made.

First Configuration

In the settings dialog (accessed via the in the top bar of the app), the VDR is selected first (e.g. VDR - 1)

Now you need to enter the IP address and the corresponding SVDRP port. All basic functions of the remote control are now active. If the corresponding MAC address is entered, the selected VDR can also be switched on via Wake-On-Lan using the VDR* selection button.

As long as the VDR computer is not accessible, the button remains light blue. When the SVDRP connection is successful, the button turns green. If you want to cancel the SVDRP connection for any reason, simply click on this button and it will turn red. However, it will turn green again at some point (connection is reestablished) because a “PING” command is automatically sent to the VDR every 3 minutes.

A long click on this button opens a selection dialog where you can choose the VDR you want to operate.

To switch off the VDR, the parameter VDROFF* can be set for the following button (see below for an explanation of the commands). The corresponding command is triggered by a long click on the button to prevent accidental switching off.

All other configurations can be made during operation. The macro keys in particular can also be assigned directly (see below). Night mode switches a dark background on or off. The user name is required for executing direct commands or scripts at the shell level (see below).

Remote control buttons

The standard remote control buttons work like a normal remote control. The number buttons, the directional and the volume buttons trigger a repeat function when long-clicked. All other standard buttons only respond to a single click. The button between the two volume buttons toggles between mute and the current volume level. Since my previous IR remote control always had the channel button at the top center, it has also been included in this layout. The button between the two volume buttons toggles between mute and the current volume level.

Macro Buttons

You can assign a key by long-clicking on it. The following dialog box will appear:

Help with assigning macro keys

The first value is always the label on the button (e.g., PAUSE).

The last value can set the color of the key.
e.g:c=red or c=green or c=yellow or c=blue

1. Simple hitk (svdrp) commands

e.g.: PAUSE menu yellow
Here, the commands “menu” and “yellow” would be sent to the VDR one after the other via the open SVDRP session. With a standard VDR configuration, this would result in the current TV stream being paused. A second example would be:
PIPACT menu 8 2
This could be used to activate the PIP function of the softhddevice. The prerequisite for this is the corresponding menu items. Alternatively, you could also write
PIPACT menu down down down down down down down down ok down down ok

2. Calling composite commands

e.g.: MAIL “PLUG mailbox Main”
Here, the main menu would be called up in the mailbox plugin. Compound commands are enclosed in double quotation marks.

3. Calling direct SVDRP commands to query any information

e.g.: Recordings “SVDRP LSTR”
Here, the command to be executed is again enclosed in double quotation marks with the keyword SVDRP. The result of such commands is then displayed in a pop-up window .

4. Calling scripts at the OS level

e.g: HALT "CMND /usr/local/bin/haltsystem.sh"
or for non-root:
e.g: EQON "CMND ssh username@hostname startpulseeffects.sh"

To use this type of command, it is necessary to allow the user (from settings) to access the VDR computer from their cell phone via an SSH connection. The corresponding key pair is generated once in the settings menu under "Save public RSA key Save Public RSA Key" and remains until the app is uninstalled. The menu item simultaneously saves the public key from the internal key storage to the working directory. This can be repeated at any time. This file can then be appended to the file /home/<user>/.ssh/authorized_keys on the corresponding VDR. It only needs to be copied from the cell phone to the VDR computer..

These shell commands are always written in double quotation marks and are then executed directly on the VDR computer. Here, everything that is possible in a shell is actually possible. If commands are to be executed under a different user ID, the connection between the app and the shell is always made with the user ID that was set once. A new SSH connection is then executed for this user on the VDR computer. This means that it is only necessary to save the public key once for the user on the VDR computer. All further SSH connections are then executed under the control of the VDR computer, i.e. the local keys on the VDR computer are then used.
The output of these shell commands, if available, is displayed in a pop-up window on the mobile phone.

Example:

This will produce the following output:

Using this mechanism, you can also start complex shell scripts, which can then perform any administrative tasks. The output then appears on the cell phone.

Preferences menu

The settings menu can be accessed via the in the top bar of the app and contains the following entries

- Preferences

see “Initial configuration”

Save Preferences
The settings you have made can be saved in an XML file in the app's working directory. Since it is not possible to directly access the settings stored in the app's cache from outside, a copy of these settings is stored here for the user and can then be edited directly. Caution: errors may cause the app to crash

- Load Preferences

The settings will be loaded from the settings file in the working directory. This could be useful if you want to save different scenarios and then load them back into the app as needed. Even if the app is reinstalled, you can quickly restore the previous settings using this settings file. Moving to a new cell phone is also quick and easy with a copy.

- Save public RSA key

(see “Calling scripts at OS level” in the macro key explanation)

- New working Directory

This action assigns a new working directory to the app. It can be an existing directory or a newly created one. In future, this will be used automatically to save the settings file and the public key file.

- Help for the macro buttons

A brief guide to assigning macro keys.

- History

Overview of versions and changes.

- About...

Well, what do you think...