Documentation - idl0r/AndroVDR GitHub Wiki

General


AndroVDR is an application for Android (from version 1.6) to control VDR by Klaus Schmidinger.
It is based on VDRControl and was renamed for publication in Market into AndroVDR.

SVDRP


The communication with VDR occurs via SVDRP (Simple VDR Protocol). To be able to use it, the device has to be activated in VDR. You can do this in the configuration file svdrphosts.conf.
The VDR does not allow multiple connections from different clients, so the connection gets established on demand and disconnects after 10 seconds without usage. As this interface may be used by other devices or plugins, temporary connection problems may occur.

Remote Control


The buttons Schedule, Timer, Channels and Records open the according listview on normal push. A long push displays the corresponding view in VDR.
Also, the Power On button has two functions. The normal push sends a WOL-Broadcast into the local network, the long push into the internet. The requirement for this is that the router forwards the UDP-port 9 onto the broadcast-address of the local network (e.g. 192.168.1.255). If the router has a static ARP-table you can also add the according entry and the forwarding onto the IP-address of the VDR.

Control via internet


The encrypted connection occurs via a SSH-tunnel.

Requirements:
  • SSH-server on the VDR
  • the router must have a public (static or e.g. DynDNS) address
  • a port forwarded onto the SSH-server on the VDR

For authentication via SSH-key, the key for the VDR needs to be imported. The key has to be copied into the root directory of the SD-Card and should be deleted after the import.

The connection has to be created and closed manually via the menu item Forwarding. After the start of the SSH-client, if the remote station is unknow, the client checks the fingerprint and asks after their confirmation, if necessary, for a password or passphrase for the key.

Channel logos


Logos can be displayed in the channel list, but are not part of the program for copyright reasons.

Requirements:

Gestures


Pre-defined commands can be transmitted to the VDR by self-created gestures. The name of the gesture has to be equal with the ones from below.

Name Function
power Power off
up, down, left, right Arrowkey
ok OK-button
back back
0-9 number key
red, green, yellow, blue color key
chan_up, chan_down, prev_chan channel selection
vol_up, vol_down, mute volume
play, pause, stop play
record start record
next, prev, fastfwd, fastrew spooling
menu OSD menu
info OSD info
schedule OSD program
channels OSD channel
timers OSD timer
recordings OSD records
setup OSD setup
commands OSD commands
audio OSD audio
subtitles OSD subtitle
user1 - user9 user-defined

User-defined layout


The configuration file name has to be mytab and be saved in the folder AndroVDR of the SD-Card. It is a simple text file, in which every line represents a button. The statements are separated by commas.

Format:
  • Type
    • Text
    • Image
  • label or if the type is an image the relative folder/filename
  • offset from the left border
  • offset from the upper border
  • height
  • width
  • action
    • see Gestures

The units for offset, width and height are in pixels. A # at the beginning of a line marks a comment.

Example:

Text,Menu,25,25,60,60,menu
Text,Back,90,25,60,60,ok
Text,Sched,90,140,60,60,schedule
Image,images/chan.png,61,81,60,70,channels

Logging


If necessary, the output of log-information can be activated. Possible options:
  • System
    • read it with adb logcat from Android-SDK
  • SDCard
    • output occurs into the file log.txt in the folder AndroVDR on the SD-Card. This file will be created on every start of the program.
  • SDCard All
    • Like SDCard, but does not delete the log file.
      Attention, the file may become very large.

Plugins (for developer)


It is possible to extend AndroVDR into a universal remote control with the existing Plugin-Interface. Any device can be controlled, if the device provides a network-interface. The plugin only has to implement the interface IActuator (or IDevice). The provided functions can then be used for personal layouts. With free definable macros it is possible to implement complex scenarios at the push of a button.

Implementation:
  • VdrDevice
  • ActivityDevice
  • Macros

Realisation:

Used Libraries


⚠️ **GitHub.com Fallback** ⚠️