Inhaltsverzeichnis

Ansible Installation

Quelle: yaVDR07_documentation.html
Ab YaVDR Version 0.7 wird Ansible als Installationsplattform verwendet.
Man benötigt einfach ein aktuelle Ubuntu Server (Mai 2022 Ubuntu Server 20.04 LTS) Installation und die Ansible-Scripte erledigen den Rest.

Betriebssystem

Eine Ubuntu Server Installation installieren und aktualisieren.

Partitionen

Betriebssystem aktualisieren

sudo apt update
sudo apt full-upgrade
sudo apt autoremove --purge

Grafikkartentreiber installieren
Bei NVIDIA schauen welcher Treiber aktuell ist https://www.nvidia.com/Download/Find.aspx

sudo apt-get --no-install-recommends install nvidia-headless-<VERSION> nvidia-settings
sudo reboot

Ansible

Die Ansible Scripte installiert man mit u. a. Befehlen.
Einfach per SSH als Benutzer (welcher bei der Installation gewählt wurde) anmelden und folgendes ausführen:

sudo apt install git
git clone https://github.com/yavdr/yavdr-ansible
cd yavdr-ansible

Dateien anpassen yavdr07.yml und yavdr07-headless.yml (Fernbedienung, epgd,…), group_vars/all (default Variablen: ppa, Sprache/Zeitzone), host_vars/localhost (übersteuert group_vars/all).

# eigene channels.conf nach /var/lib/vdr/channels.conf kopieren
vdr_channels_conf: /mnt/backup/varlibvdr/channels.conf

vdr_plugins:
  - vdr-plugin-devstatus
  - vdr-plugin-markad-ng
  - vdr-plugin-graphlcd
  - vdr-plugin-epgsearch
  - vdr-plugin-filebrowser
  - vdr-plugin-lcdproc
  - vdr-plugin-osdteletext
  - vdr-plugin-skindesigner
  - vdr-plugin-tvguideng
  - vdr-plugin-vdrmanager
  - vdr-plugin-burn

vdr_output_plugin: vdr-plugin-softhddevice
ODER MIT CUVID UNTERSTÜTZUNG FÜR HARDWARE-DECODING -> 4K UHD
vdr_output_plugin: vdr-plugin-softhddevice-cuvid

vdr_allowed_hosts:
   - <SUBNET_IN_CIDR>

vdr_svdrphosts:
   - <SUBNET_IN_CIDR>

vnsiserver_allowed_hosts:
   - <SUBNET_IN_CIDR>

streamdev_server_allowed_hosts:
   - <SUBNET_IN_CIDR>

extra_packages:
   - htop
   - lnav

channellogo_languages:
  - de

serial_ir_device: ttyS0

Nun den yaVDR installieren

sudo -H ./install-yavdr.sh

Nach einem Neustart des VDRs sollte der VDR installiert sein.
Wenn sich eine gültige channels.conf in /var/lib/vdr befindet funktioniert auch der VDR und das OSD.

Fernbedienung

rc-core Empfänger (serial_ir)

Das Lernern der Keycodes einer Fernbedienung geht wie folgt.

Um zu prüfen ob eine Fernbedienung läuft, stopt man eventlirc und testet mit ir-keytable.

sudo systemctl stop eventlircd.socket eventlircd.service
sudo ir-keytable -p all -t

Unter Umständen kann man eventlirc auch temporär abschalten, so dass es auch nach einem Reboot nicht automatisch gestartet wird.

sudo systemctl mask|unmask eventlircd.service eventlircd.socket

Migration einer lircd.conf

Hat man eine alte lircd.conf, kann diese mit dem Script lircd2toml.py in eine TOML Datei gewandelt werden.

./lircd2toml.py lircd.conf

Die Ausgabe fügt man in seine eigene Keymap-Datei (z.B. /etc/rc_keymaps/myremote.toml) ein.
ACHTUNG: Es kann hierbei sein, dass das Schema für Tastencodes nicht passt. Dann funktionieren u. U. einige Tasten nicht in Verbindung mit dem VDR oder Kodi.

Diese neue Keymap fügt man noch in die Konfiguraton von eventlirc ein.

vi /etc/rc_maps.cfg

Hier sucht man nach der Zeile mit seinem Device (z.B. serial_ir) und passt diese wie folgt an.

serial_ir   rc-rc6-mce          /etc/rc_keymaps/myremote.toml

Nun setzt man ir-keytable zurück und fügt die neue Kaymap hinzu.

sudo ir-keytable -c
sudo ir-keytable -a /etc/rc_maps.cfg

Neue Keymap erstellen

Möchte man eine neue eigene Keymap für die Fernbedienung erstellen, kann man ir-keytable nutzen um die entsprechenden IR-Codes für eine Keymap auszulesen.
In einem Terminal öffnet man sich die eigene „.toml“ Datei um diese zu editieren und in einem anderen Terminal verwendet man ir-keytable -t um die IR-Codes auszulesen.

Eine „.toml“ Datei sieht wie folgt aus.

[[protocols]]
name = "<NAME_DER_EIGENEN_FERNBEDIENUNG>"
protocol = "<PROTOCOL>"
[protocols.scancodes]
<IR_CODE> = "KEY_MUTE"
0x07 = "KEY_MEDIA"

Man kann auch das Script learn-rc-core.py verwenden um automatisch eine neue „.toml“ Datei zu erstellen.

Atric WakeupUSB

Hier muss in der yavdr07.yml die Zeile mit autoinstall-atric-usb einkommentiert und die Zeile mit serial-ir auskommentiert werden.

Ansible installiert die Treiber und konfiguriert lircd.
Danach dekativiert man ir-keytable in dem man die /etc/rc_maps.cfg leert.
Jetzt nur noch eine geeignete lircd.conf unter etc/lirc/lircd.conf.d/lircd.conf anlegen und rebooten.

Wenn die Tastennamen in der eigenen lircd.conf mit denen der /etc/vdr/remote.conf passen, sollte der VDR normal per Fernbedienung bedient werden.
Mit dem Tool irw kann man sich die gedrückten Tasten, auf der Konsole, ausgeben lassen.

eigene Commands

Eigene Kommandos editiert man in der /etc/vdr/command-hooks/commands.custom.conf.
Hier eine Beispiel Konfiguration:

#
# This is an example file for defining external commands, that will be 
# accessible via VDR's OSD menu.
# The commands will be executed under the same user id that vdr is running 
# with, so take care if your are running vdr as root!
# 
# The format of a command entry is:  <title> : <command>
# <title> is the menu text shown on the OSD and <command> is the command to
# be executed. Everything that <command> writes to stdout will be displayed
# on the OSD, e.g.:
#
# Open fortune cookie: /usr/games/fortune
#
# If you uncomment the line above and restart vdr, you will have a new 
# command menu entry, called "Open fortune cookie", that will show you a 
# random epigram. ( you may need an "apt-get install fortune" first! )
#
# You can divide your commands into submenus, e.g.:
#
# Fortune Cookies {
#   Long Dictum        : /usr/games/fortune -l
#   Short Apothegms    : /usr/games/fortune -s
#   Special Topics {
#     Literature       : /usr/games/fortune literature
#     Riddles          : /usr/games/fortune riddles
#   }
# }
#
# Again, just uncomment the above lines and restart vdr to see for your self,
# how this looks like on the OSD.
#
Google Chrome:		/usr/bin/frontend-dbus-send start_desktop google-chrome
Gnome-Terminal:		/usr/bin/run-desktop-file /usr/share/applications/org.gnome.Terminal.desktop
PIP off:		/usr/bin/svdrpsend HITK User8
X restart:		sudo pkill X
openbox restart:        sudo initctl restart openbox
#NAS Videos einhängen:	sudo /sbin/mount.smbfs //nas.as.home/video /srv/vdr/video.00/0NAS-Video/ -o user=as.home/adi,password=creeko,forceuid=1000,forcegid=2000,uid=1000,gid=2000 
NAS Videos einhängen:   sudo /sbin/mount.nfs nas.as.home:/video /srv/vdr/video/0NAS-Video
NAS videos aushängen:	sudo umount /srv/vdr/video/0NAS-Video
Speicherplatz anzeigen: df -hT --total -t ext3 -t ext4 -t vfat -t ntfs -t btrfs

Keymacros

Keymacros werden in der Datei /etc/vdr/keymacros.conf konfiguriert.
Dort können eigene Tasten der Fernbedienung für den Aufruf eines Plugins (@PLUGINNAME) oder für eine Kombination von ein oder mehreren Tasten konfiguriert werden.
Die benutzerdefinierten Tasten selbst sind z.B. USER0-9, welche in der Datei /etc/vdr/remote.conf konfiguriert werden müssen.
Ein Nachteil kann sein, dass sich die Menü-Reihenfolge ändern kann, wenn man z.B. Plugins installiert die dann im Menü angezeigt werden.
Hier muss man dann sein Keymacro anpassen.

Skindesigner OSDs

Mit dem Skindesigner Plugin lassen sich unterschiedlich OSDs darstellen, wie z.B. das OSD „metrixHD“.

Wetter
Damit das Wetter im OSD angezeigt wird, muss das Plugin vdr-plugin-weatherforecast installiert werden.
In den Einstellungen kann man dann seinen Wohnort anpassen.

Sensoren
Die Temperaturen der CPU und der Grafikkarte können ebenfalls dargestellt werden, dazu installiert man das Packet „lm-sensors“ und prüft mit dem Befehl sensors ob die Ausgabe etwas ausgibt.
Damit die Werte im OSD angezeigt werden, verlinkt man noch das Script, welches die Werte ausliest.

sudo ln -s /usr/lib/vdr/plugins/skindesigner/scripts/temperatures.default /usr/lib/vdr/plugins/skindesigner/scripts/temperatures

Troubleshooting

Wenn der VDR nichts auf dem Bildschirm ausgibt, kann die Auflösung verstellt sein.
Dazu öffnet man das xTerminal und führt sudo nvidia-settings aus um die Einstellungen zu kontrollieren und in die Xorg-Konfiguraton zu schreiben.
xTerm öffnet man auf der grafischen Oberfläche wo sonst der VDR läuft.
Da der VDR ja nichts ausgibt, kann man per ssh folgende Befehle ausführen um xTerm zu öffnen.

svdrpsend HITK menu
svdrpsend HITK 7
svdrpsend HITK right
svdrpsend HITK ok
svdrpsend HITK right
svdrpsend HITK ok

oder auch

svdrpsend HITK menu
svdrpsend HITK 7
svdrpsend HITK right
svdrpsend HITK ok
svdrpsend HITK ok
svdrpsend HITK ok