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
- Root:
/
mind. 8GB → besser 30-50GB - Swap: wird nicht zwingend benötigt, wenn der Suspend-Mode zum Ausschalten verwendet wird, dann mind. so groß wählen wie der Arbeitsspeicher ist
- Aufnahmen:
/srv
der Rest der Festplatte oder eine eigene dafür verwenden
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).
yavdr07.yml
# - autoinstall-atric-usb - serial-ir - epgd
yavdr07-headless.yml
nichts zum Ändern, außer wenn es ein Headless VDR sein sollhost_vars/localhost
mkdir host_vars cp group_vars/all host_vars/localhost mount /dev/<GERÄT_WO_DAS_BACKUP_LIEGT> /mnt vi host_vars/localhost
# 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.
- Teletext aufrufen
User0 @osdteletext
- Einstellungen im OSD aufrufen
USER1 Menu 9 2
- Kodi aufrufen
Hier kann man anders vorgehen und sich die Datei/var/lib/vdr/.lircrc
zu Nutze machen, indem man dort direkt einen Befehl auf eine Taste setztbegin prog = irexec button = KEY_TV config = frontend-dbus-send switchbetween kodi vdr end
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