yavdr ansible
-
-
-
habe mal eine neue Rolle gebastelt, autoinstall-sundtek-static.
Vielleicht möchtest Du sie übernehmen, bis die dynamische Version mit dynamite usw. fertig ist.
Die Treiber und .service werden installiert wenn es in usb einen Vendor 2659 gibt.
Getestet habe ich mit Virtualbox und einem DVB-S Stick (2659:1502).
Ich musste nur noch die channels.conf kopieren, danach lief es.
Fernbedienung usw. wird nicht installiert, ich brauche das ganze nur für einen headless VDR.
autoinstall-sundtek-static.tar.gz
Gruß
Frank
-
Ich persönlich brauche kein HotPlug, mir würde es reichen wenn der Stick (DVB-S) standardmäßig eingebunden wird.
Habe ich jetzt manuell gemacht, aber im playbook wäre es natürlich schöner. So was wie Rolle sundtek-static, bis es eine Lösung mit dynamite gibt.
Es gibt zwei Möglichkeiten die Sundtek-Sticks zu nutzen - einmal kann man den mediasrv auf die lokal angeschlossenen Geräte warten lassen (so wie es die sundtek.service in deiner Rolle macht) - der Vorteil dabei ist, dass man ohne das Dynamite-Plugin auskommt, der Nachteil ist, dass der Start ein bisschen länger dauert (das Warten aufs network-online.target kann man sich sparen, wenn man keine Sticks übers Netzwerk einbinden will) und man den Stick nicht einfach im laufenden Betrieb ab- und anstecken bzw. von einem Server (un)mounten kann.
Die andere Möglichkeit ist das vdr-plugin-dynamite und das vdr-plugin-sundtek zu installieren, dann werden lokal erkannte Sundtek-Sticks dynamisch eingebunden.
Den sundtek-avahi-mounter muss ich noch auf Python3 portieren und von der Konfigurationsdatenbank aus früheren yaVDR-Versionen unabhängig machen, damit das Paket yavdr-hardware-sundtek verfügbar ist.
habe mal eine neue Rolle gebastelt, autoinstall-sundtek-static.
Danke, ich versuche das demnächst mal mit dem zusammenzuführen, was ich zu dem Thema schon habe. Das sundtek-Plugin hat ohne das dynamite-Plugin IIRC keine Funktion.
-
Jo, das sundtek-Plugin ist nur die Brücke zwischen mediasrv und dynamite.
Lars
-
Alles klar, ich habe jetzt vdr-plugin-sundtek aus dem task rausgenommen und auch das network-online.target aus dem service entfernt.
Funktioniert immer noch
Dann werde ich mich mal mariadb und epgd widmen.
-
Dear All,
I have some problem with epg scan in some channels. The information is only availably for few hours (not as in yavdr 0.6 for whole week).
How I can improve the epg scan.
BR.
-
What type of epg (DVB-stream, epgd & co, ...) are you using?
With epg2vdr you can select how many "Days in Advance" should be read in.
-
Hi,
I'm just using DVB-stream.
I tried to use epgd base on this topisc EPGD Installation auf Ubuntu 18.04 - kurze Anleitung
but I have such errors:
SQL-Error in 'prepare(stmt_prepare)' - Can't initialize function 'epglvr'; EPGLV() failed to change locale (1123) 'Can't initialize function 'epglvr'; EPGLV() failed to change locale' [select actor, audio, camera, category, channelid, channelname, country, description, director, duration, episodecompname, episodecomppartname, episodecompshortname, episodelang, eventid, flags, folder, fsk, genre, guest, imgid, inuse, job, longdescription, md5path, moderator, music, name, numrating, other, owner, path, producer, rating, screenplay, scrinfoepisodeid, scrinfomovieid, scrinfoseriesid, scrmovieid, scrnew, scrseriesepisode, scrseriesid, scrsp, shortreview, shorttext, starttime, state, tipp, title, topic, txtrating, vdruuid, year from recordinglist where (state <> 'D' or state is null)and epglvr(title, ?) < 50]
Mar 7 22:29:41 htpc vdr: [13488] detacher thread thread started (pid=12545, tid=13488, prio=high)
Mar 7 22:29:41 htpc vdr: [13489] animator thread thread started (pid=12545, tid=13489, prio=high)
Mar 7 22:29:41 htpc vdr: video: audio/video difference too big
Mar 7 22:29:41 htpc vdr: video: normal aspect output 1036x583+769+131 Video 1036x583
Mar 7 22:29:41 htpc vdr: [13488] detacher thread thread ended (pid=12545, tid=13488)
Mar 7 22:29:45 htpc vdr: [13491] detacher thread thread started (pid=12545, tid=13491, prio=high)
Mar 7 22:29:45 htpc vdr: [13491] detacher thread thread ended (pid=12545, tid=13491)
Mar 7 22:29:45 htpc vdr: [13492] detacher thread thread started (pid=12545, tid=13492, prio=high)
Mar 7 22:29:45 htpc vdr: [13492] detacher thread thread ended (pid=12545, tid=13492)
Mar 7 22:29:46 htpc irexec[940]: KEY_OK
Mar 7 22:29:48 htpc vdr: epg2vdr: Trying to re-connect to database!
Mar 7 22:29:48 htpc vdr: epg2vdr: SQL-Error in 'prepare(stmt_prepare)' - Table 'epg2vdr.eventsview' doesn't exist (1146) 'Table 'epg2vdr.eventsview' doesn't exist' [select useid, eventid, source, delflg, updflg, fileref, tableid, version, title, shorttext, starttime, duration, parentalrating, vps, contents, description, mergesource, longdescription from eventsview where channelid = ? and updsp > ? and UPDFLG in ('A','L','P','C','D','R')]
Mar 7 22:29:48 htpc vdr: epg2vdr: Retry #4 failed, retrying in 10 seconds!
BR
-
According to https://projects.vdr-developer…epglv/src/epglvbase.c#n81 the epglv UDF insists onLC_CTYPE=de_DE.UTF-8 as locale setting for MariaDB/MySQL - and as far as I know there are only plugins which provide epg data for german channels, so this might not be the best solution.
Where are you located and which type of DVB-Stream (DVB-T(2), DVB-C(2), DVB-S(2)) are you receiving?One of the changes between VDR 2.2.0 (as in yaVDR 0.6) and vdr 2.4.0 was the handling of epg data which are sent on a different transponder - which has been reverted in this patch: EPG on Canal Digital (DVB-EPG) Norway
If you want to try this patch, you can add my VDR 2.4.0 PPA: sudo add-apt-repository ppa:seahawk1986-hotmail/vdr-2.4.0 and update the packages: sudo apt dist-upgrade. Then restart the vdr: systemctl restart vdr
To remove Packages installed from this ppa you can use ppa-purge:
-
Hi seahawk1986,
I'm located in Poland.
I'm have dvb-s2 stream. I will try vdr from your repositoru and give you the results.
It is much better. I have epg on channels which it was not available on previous version of VDR.
BR.
-
Hallo zusammen,
falls jemand Interesse hat, anbei eine Rolle zur Installation von mariadb, epgd und epg2vdr.
Datenbank und User werden eingerichtet, channelmap usw. muss man von Hand machen.
bind-address = 0.0.0.0 wird gesetzt, damit ist die Datenbank von extern erreichbar.
Das epgd-tool wird hier nicht komplett funktionieren, da es einige Anpassungen benötigt.
Schön wäre noch ein Skript zum Erstellen der channelmap, wie bei mld.
Schau ich mir bei Gelegenheit mal an, ob man da was abkupfern kann.
Da ich ansible nicht auf dem Client ausführe, sondern auf einem zentralen Host, hier noch zwei Hinweise:
Wenn der Client mit dem Server-Installationsmediium aufgesetzt wurde, muss noch python-jmespath auf dem Client installiert werden.
Sonst kann ansible mit dem Client nicht kommunizieren (Es fehlt schlicht python2). Bei einer lokalen Installation macht das das Skript install-yavdr.sh.
Am Ende der install-yavdr.sh wird auch noch ein dpkg-reconfigure libdvd-pkg ausgeführt, das geht remote natürlich auch nicht.
Habe etwas gesucht und eine Lösung gefunden und zwar hier: Link
Das Modul dpkg_reconfigure wird als dpkg_reconfigure.py in den Ordner "library" eingefügt und das reconfigure kann dann mit der beigefügten Rolle ausgeführt werden. Hierbei wird die Frage nach Build ja/nein automatisch mit ja beantwortet.
Gruß
Frank
-
Datenbank und User werden eingerichtet
Prima, aber könnte man die SQL-Skripte nicht idempotent machen und sich die eher wackelige Prüfung auf die Datenbankdatei mit dem stat sparen (z.B. könnte jemand dein Speicherort für die Datenbanken umkonfiguriert haben)?
Also z.B.
CodeCREATE DATABASE IF NOT EXISTS epg2vdr charset utf8; CREATE USER IF NOT EXISTS 'epg2vdr'@'%' IDENTIFIED BY 'epg';
Und dann könnte man sich überlegen, ob man Benutzernamen und Passwort nicht noch dynamisch veränderbar macht, damit man die z.B. aus einer Ansible Vault laden kann, wenn man etwas anderes als die Vorgabewerte haben will.
-
Ich sehe gerade, dass es Ansible-Module für das Anlegen von Datenbanken und Benutzern gibt (das benötigt dann noch das Paket python-pymysql bzw. im Falle von Python3 python3-pymysq)l:
- https://docs.ansible.com/ansib…dule.html#mysql-db-module
- https://docs.ansible.com/ansib…dule.html?highlight=mysql
Wäre das nicht einfacher? Die UDF für epglv sollte schon vom Paket mariadb-plugin-epglv durch das postinst-Skript hinzugefügt werden.
-
Ich hatte etwas Probleme mit dem Neustart von epgd und deshalb db und user vor der Installation von epgd angelegt.
Danke für die Hinweise, schaue ich mir noch mal an.
Gruß
Frank
-
Ich hatte etwas Probleme mit dem Neustart von epgd und deshalb db und user vor der Installation von epgd angelegt.
Wenn ich das richtig im Kopf habe wird epgd nach der Installation nicht automatisch gestartet, weil man es ja eigentlich erst konfigurieren muss.
-
Hab es grade noch mal probiert.
Sobald epgd installiert wird, wird auch der daemon gestartet.
Codeepgd: Installiert: 1.1.146-0yavdr0~bionic Installationskandidat: 1.1.146-0yavdr0~bionic Versionstabelle: *** 1.1.146-0yavdr0~bionic 500 500 http://ppa.launchpad.net/yavdr/experimental-main/ubuntu bionic/main amd64 Packages 100 /var/lib/dpkg/status
Das resultiert dann in diverse Fehlermeldungen:
Code
Alles anzeigenMar 9 23:14:18 yavdransiblevm epgd: Set locale to 'de_DE.UTF-8' Mar 9 23:14:18 yavdransiblevm epgd: Calling sd_notify(READY=1$STATUS=Ready$MAINPID=5804$) Mar 9 23:14:18 yavdransiblevm systemd[1]: Started vdr-epg-daemon manages EPG data in a MySQL database. Mar 9 23:14:18 yavdransiblevm epgd: Info: Systemd watchdog not configured, epgd won't be sending keep-alive messages! Mar 9 23:14:18 yavdransiblevm epgd: Loading uuid from '/etc/epgd/uuid' succeeded [81C25EDC-F4CC-44C2-8C0D-F9CAD9A6303D] Mar 9 23:14:18 yavdransiblevm epgd: Dictionary '/etc/epgd/epg.dat' loaded Mar 9 23:14:18 yavdransiblevm epgd: Initialize python script '/etc/epgd/recording.py' Mar 9 23:14:18 yavdransiblevm epgd: Loading plugin: /usr/lib/epgd/plugins/libepgd-epgdata.so Mar 9 23:14:18 yavdransiblevm epgd: Read 26 option from /etc/epgd/epgd.conf Mar 9 23:14:18 yavdransiblevm epgd: Using syslog facility 'user' (8), log level set to (1) Mar 9 23:14:18 yavdransiblevm epgd: Info: Calling mysql_library_init() Mar 9 23:14:18 yavdransiblevm epgd: Info: Stylesheet '/etc/epgd/epgdata-utf-8.xsl' loaded Mar 9 23:14:18 yavdransiblevm epgd: Checking database connection ... Mar 9 23:14:18 yavdransiblevm epgd: Calling mysql_init(5804) Mar 9 23:14:18 yavdransiblevm epgd: SQL-Error in 'connecting to database' - Access denied for user 'epg2vdr'@'localhost' (1698) Mar 9 23:14:18 yavdransiblevm epgd: Fatal, lost connection to mysql server, aborting pending actions Mar 9 23:14:18 yavdransiblevm epgd: Error, connecting to database at 'localhost' on port (3306) failed Mar 9 23:14:18 yavdransiblevm epgd: Closing mysql connection and calling mysql_thread_end(5804) Mar 9 23:14:18 yavdransiblevm epgd: Fatal: Initial database connect failed, aborting Mar 9 23:14:18 yavdransiblevm epgd: Calling sd_notify(STOPPING=1$) Mar 9 23:14:18 yavdransiblevm epgd: Info: Released the last usage of mysql_lib, calling mysql_library_end() now Mar 9 23:14:19 yavdransiblevm systemd[1]: epgd.service: Main process exited, code=exited, status=1/FAILURE Mar 9 23:14:19 yavdransiblevm systemd[1]: epgd.service: Failed with result 'exit-code'. Mar 9 23:14:19 yavdransiblevm systemd[1]: epgd.service: Service hold-off time over, scheduling restart. Mar 9 23:14:19 yavdransiblevm systemd[1]: epgd.service: Scheduled restart job, restart counter is at 1. Mar 9 23:14:19 yavdransiblevm systemd[1]: Stopped vdr-epg-daemon manages EPG data in a MySQL database.
-
Habe die Rolle für epgd überarbeitet.
Die Datenbank und User werden nun über die ansible Mysql Funktionen angelegt.
Benutzername und Passwort des epgd Users müssen in der ausgeführten yml Datei als Variable angelegt werden.
Ein verschlüsseltes Ansible Vault brauche ich nicht unbedingt.
So sieht das dann z.b. in der yavdr07.yml aus:
Code
Alles anzeigen--- # file: yavdr07.yml # this playbook sets up a complete yaVDR 0.7 installation - name: set up yaVDR hosts: all become: true vars: epguser: halloepg epgpass: epgpass roles: - yavdr-common .........
Im GIT könnte man es ja auf die Standardwerte setzen und wer mag kann es bei der Installation ändern. Aber Achtung z.B das epgd-tool bekommt diese Änderung dann nicht mit.
-
Benutzername und Passwort des epgd Users müssen in der ausgeführten yml Datei als Variable angelegt werden.
Im GIT könnte man es ja auf die Standardwerte setzen
Die Standardwerte könnte man in einer defaults/main.yml (https://docs.ansible.com/ansib…ml#role-default-variables)
oder der group_vars/all hinterlegen - dann kann man die dort anpassen bzw. in Dateien mit höherer Priorität wie host_vars übersteuern.
Also z.B.:
Codeepgd: dbuser: epg2vdr dbpass: epgd dbhost: localhost epgdata_pin: insert-your-pin-here # etc. pp.
Diese Werte könnte man dann auch zur Vorkonfiguration von epg2vdr und scraper2vdr nutzen.
-
Da hast Du Recht. Soweit hatte ich gestern nicht mehr gedacht.
Die Standardwerte könnte man in einer defaults/main.yml (https://docs.ansible.com/ansib…ml#role-default-variables)
oder der group_vars/all hinterlegen - dann kann man die dort anpassen bzw. in Dateien mit höherer Priorität wie host_vars übersteuern.
Also z.B.:
Codeepgd: dbuser: epg2vdr dbpass: epgd dbhost: localhost epgdata_pin: insert-your-pin-here # etc. pp.
Diese Werte könnte man dann auch zur Vorkonfiguration von epg2vdr und scraper2vdr nutzen.
Die Variante mit den group- /host_vars ist mir persönlich am sympathischsten. Dann muss man nur an einer Stelle ändern/konfigurieren.
Bietet sich dann auch an um E-Mail-Zugangsdaten zu hinterlegen, z.B. für epgsearch oder postfix.
Aber eins nach dem anderen.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!