epg2vdr liest keine Daten aus der DB

  • Hallo,


    ich bin etwas ratlos.
    EPGD funktioniert soweit gut. Ich kann Bilder und EPG im Webinterface vom EPGD sehen (was nicht funktioniert: Kanalliste vom VDR holen. "Server konnte nicht erreicht werden" --> svdrphosts.conf passt aber; Auch Timer auf dem Server anzulegen klappt nicht.)


    Leider lädt epg2vdr keine Daten aus der DB in den VDR-EPG ein. Ich erhalte aber auch -trotz Loglevel 4- keine sachdienliche Hinweise auf das Problem.
    Wie kann ich das Problem eingrenzen?


    Hier ein Log Auszug vom VDR:

    Code
    2016-02-24T22:26:41.476127+01:00 homeserver vdr: epg2vdr: Auto check master role
    2016-02-24T22:26:47.425429+01:00 homeserver vdr: [154] VNSI: Trigger EPG update for channel SAT.1 Gold Österreich, id: 64369812
    2016-02-24T22:26:47.425465+01:00 homeserver vdr: [154] VNSI: Trigger EPG update for channel Pro7 MAXX Austria, id: 1959855106
    2016-02-24T22:26:58.179619+01:00 homeserver vdr: [154] VNSI: Trigger EPG update for channel SAT.1 Gold Österreich, id: 64369812
    2016-02-24T22:26:58.179639+01:00 homeserver vdr: [154] VNSI: Trigger EPG update for channel Pro7 MAXX Austria, id: 1959855106
    2016-02-24T22:27:01.262264+01:00 homeserver vdr: [169] epg data writer thread started (pid=127, tid=169, prio=low)
    2016-02-24T22:27:01.366970+01:00 homeserver vdr: [169] epg data writer thread ended (pid=127, tid=169)
    2016-02-24T22:27:09.434199+01:00 homeserver vdr: [154] VNSI: Trigger EPG update for channel GOD Channel, id: 281000404
    2016-02-24T22:27:41.483362+01:00 homeserver vdr: epg2vdr: Auto check master role



    Hier ist die zweite Zeile sicher ein Hinweis auf das Problem, die Timer zu setzen...
    Aber umgekehrt sehe ich echt nicht, was das Problem sein könnte.


    Hat jemand einen Tipp/eine Richtung für mich?


    Komplette logs:
    VDR: http://pastebin.com/PL8eTziB
    EPGD: http://pastebin.com/RjiCAKME


    Vielen Dank für eure Hilfe und Mühe!


    Gruß,
    Hendrik

  • Wie machst du das mit dem Routing, wenn epgd mit dem VDR mit der IP Abgesehen davon, dass die IP 172.17.0.1 reden will, andere Clients aber z.B. die IP 192.168.177.54 haben? Im Log des VDR sehe ich keinen Verbindungsversuch - sicher, dass die IP-Adresse des VDR in der epgd-Konfiguration stimmt?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    vielen Dank für deine Antwort.
    Der VDR, die DB und der EPGD stecken in einem Docker-Container. Das führt zu einem Docker-Netzwerk (172.*) und dem Netzwerk des Heimnetzes (192.*). Ich kann Ports jedes Containers auf den Host mappen. z.B. wird 172.0.10.5:3306 dann als 192.168.177.3:3306 erreichbar.
    Genau das habe ich auch gemacht, dann aber weiter als Host für epg2vdr "database" also den Hostnamen von 172.0.10.5 angeben.


    Danke! das klappt jetzt.


    Das einzige, was jetzt noch immer nicht klappt, ist es, die Timer vom epgd aus auf dem vdr zu setzen, oder andere Interaktionen mit dem VDR.
    Es kommt die Meldung "Zugriff verweigert". Im Log des epgd oder vdr taucht dazu aber nichts auf.


    Ich vermute, die Verbindung läuft über svdrp / 6419, oder?
    Die svdphosts.conf ist sehr liberal...

    Code
    127.0.0.1             # always accept localhost
    192.168.177.0/16     # any host on the local net
    #204.152.189.113      # a specific host
    0.0.0.0/0            # any host on any net (USE THIS WITH CARE!)


    Der epgd findet den VDR augenscheinlich auch. Er wird in der Drop-Down Liste angezeigt. Auch die Aufnahmen werden angezeigt.



    Gruß,
    Hendrik

  • Kannst du denn von außerhalb und innerhalb des Containers über SVDRP auf den VDR zugreifen?


    Wenn man im gleichen Container von epgd aus auf den VDR zugreifen wollte, würde ich mal localhost:6419 bzw. 127.0.0.1:6419 probieren, das sollte eigentlich unabhängig von der Netzwerkkonfiguration auflösbar sein.


    Der epgd findet den VDR augenscheinlich auch. Er wird in der Drop-Down Liste angezeigt. Auch die Aufnahmen werden angezeigt.

    Das ist die Frage, ob er den kennt, weil er als epg2vdr-Client in der Datenbank eingetragen ist oder weil er über SVDRP mit ihm reden kann...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,
    vielen Dank für deine Antwort.
    ich bin gerade nicht am Gerät und kann es deshalb noch nicht ausprobieren, allerdings vermute ich das EPG die tatsächlich auf den VDR zugreifen kann denn die Aufnahmen werden ja auch angezeigt. Oder werden diese auch in der DB hinterlegt?
    Wie kann ich denn die Verbindung testen?
    Reicht es per Telnet zuzugreifen?
    SVDRPsent ist ja im Docker Container nicht vorhanden.


    Gruss,
    Hendrik

  • Hallo,


    etwas stimmt tatsächlich mit dem svdrp nicht.
    Selbst wenn ich mich im Docker-Container befinde, erhalte ich 'Connection Refused'

    Code
    root@9a73979a7636:/tmp# svdrpsend -p 6419 MSG
    connect: Connection refused


    Die Rechte der svdrphosts.conf und der Inhalt:

    Code
    ll /vdr/config/svdrphosts.conf
    -rw-r--r-- 1 vdr vdr 468 Feb 27 13:51 /vdr/config/svdrphosts.conf
    cat /vdr/config/svdrphosts.conf
    127.0.0.1             # always accept localhost
    192.168.177.0/16     # any host on the local net
    172.17.0.0/16  # Docker Net


    Im Log des VDR

    Code
    2016-02-27T14:13:52.335592+01:00 9a73979a7636 vdr: [129] loading /vdr/config/diseqc.conf
    2016-02-27T14:13:52.335631+01:00 9a73979a7636 vdr: [129] loading /vdr/config/scr.conf
    2016-02-27T14:13:52.335648+01:00 9a73979a7636 vdr: [129] loading /vdr/config/channels.conf
    2016-02-27T14:13:52.336511+01:00 9a73979a7636 vdr: [129] loading /vdr/config/timers.conf
    2016-02-27T14:13:52.336534+01:00 9a73979a7636 vdr: [129] loading /vdr/config/svdrphosts.conf
    2016-02-27T14:13:52.336559+01:00 9a73979a7636 vdr: [129] loading /vdr/config/keymacros.conf


    Ich verstehe das nicht.


    Hast du eine Idee?


    Gruß,
    Hendrik

  • Mit welchen Argumenten wird der VDR gestartet? Falls der so wie bei Debian/Ubuntu üblich gepatch ist, braucht der eine explizite Angabe für den SVDRP-Port mittel "-p 6419", weil SVDRP sonst auf Port 0 gesetzt bzw. deaktiviert ist: https://github.com/flensrocker…efault_svdrp_port_0.patch

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    vielen Dank. Das ist ja ein echt fieser patch.
    Daran lag es. Danke!


    Allerdings funktioniert es bisher nur an der Kommandozeile der beiden (epgd, vdr) Docker-Container und auch an der Kommandozeile des Host und meines Windows-Rechners.
    Es funktioniert weiterhin nicht vom Web-IF (Zugriff verweigert).


    Der VDR erscheint im Web-IF des epgd mit dem Hostnamen des Docker-Containers (=seiner ID).


    Was unterscheidet den Zugriff aus dem Web-IF von dem an der Kommandozeile?



    Gruß und herzlichen Dank für deine Hilfe bisher,
    Hendrik

  • Hallo,


    ich habe gerade noch einmal etwas nachgeforscht.
    1) vom Laptop aus erhalte ich per telnet docker-host 6419:
    220 18e321ad6244 SVDRP VideoDiskRecorder 2.2.0; Sat Feb 27 22:34:42 2016; UTF-8
    gebe ich MESG test ein, wird die Nachricht abgesetzt.



    2) wenn ich eine bash im Container des VDR öffne, kann ich kein telnet nutzen (ist nicht installiert) kann ich svdrpsend MSG xyz absetzen


    3) wenn ich eine bash im Container des EPGD öffne, kann ich per telnet docker-vdr-container 6419 mit dem SVDRP des VDR-Container verbinden und eine Nachricht absetzen.


    4) wenn ich auf dem docker-host telnet 6419 abrufe --> siehe 1)


    5) wenn ich im epgd-web-if oben auf VDR neben der Auswahlliste mit den Clients klicke, erhalte ich "Zugriff verweigert"


    6) wenn ich im epgd-web-if die Kanalliste vom VDR laden will erhalte ich "Der Server konnte nicht erreicht werden"



    Gruß,
    Hendrik

  • Also nur, um das mal zusammenzufassen - vdr und epgd laufen in zwei verschiedenen Containern. Die IPs der Container werden jeweils auf IPs im "normalen" Heimnetz gemappt. Trotzdem scheint epgd zu glauben, dass der VDR eine IP 172.17.0.1 hat, anstatt die externe Netzwerkadresse 192.168.177.xxx zu nutzen.


    Kann es sein, dass das Problem dadurch entsteht, dass der epgd2vdr-Client seine eigene IP im Container an epgd übermittelt statt die öffentliche (von der er natürlich nichts weiß)? Falls das der Fall ist, müsstest du mal horchi fragen, ob das überhaupt vorgesehen ist, dass man epg2vdr-Clients über zwei Subnetze routen kann und ob man da ggf. einfach das die IP-Adresse in der Datenbank anpassen kann (oder ob die wieder überschrieben werden würde).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    Chris: Nein, der Link existiert. Ich nutze auch deine Container, doch ich starte sie mit docker-compose (wenn alles läuft, dann gibt es einen Pull-Request).


    @Seahawk:
    > Also nur, um das mal zusammenzufassen - vdr und epgd laufen in zwei verschiedenen Containern.
    Ja.


    > Die IPs der Container werden jeweils auf IPs im "normalen" Heimnetz gemappt.
    Nein. Die Container sind in einem gemeinsamen Netz (172.*). Nur ausgewählte Ports (SVDRP, EPGD_HTTP, VNSI) sind auf den Host gemappt (192.168.177.3)


    > Trotzdem scheint epgd zu glauben, dass der VDR eine IP 172.17.0.1 hat, anstatt die
    > externe Netzwerkadresse 192.168.177.xxx zu glauben, dass der VDR eine IP 172.17.0.1 hat,
    > anstatt die externe Netzwerkadresse 192.168.177.xxx zu nutzen.


    Beides würde eigentlich funktionieren. Aus dem einen Container kann ich den anderen erreichen. Auch den SVDRP-Port.



    > Kann es sein, dass das Problem dadurch entsteht, dass der epgd2vdr-Client seine eigene IP im
    > Container an epgd übermittelt statt die öffentliche (von der er natürlich nichts weiß)?
    Ich verstehe dich da nicht ganz. Wie ist das Design? Trägt der epgd2vdr Client die IP in die DB ein?


    > Falls das der Fall ist, müsstest du mal horchi fragen, ob das überhaupt vorgesehen ist,
    > dass man epg2vdr-Clients über zwei Subnetze routen kann und ob man da ggf. einfach
    > das die IP-Adresse in der Datenbank anpassen kann (oder ob die wieder überschrieben werden würde).
    Das klingt plausibel. Kennst du das Design genauer (siehe meine Frage oben)?


    Gruß,
    Hendrik

  • Hallo Chris,


    bei mir funktioniert auch einiges, siehe Screenshots.
    Einige Dinge funktionieren aber nicht (ich mache gleich einen zweiten Beitrag mit den nicht funktionierenden Screenshots, da das Limit 5 Bilder ist).


    Könntest du bitte einmal prüfen, ob dies (die Screenshots aus dem nächstem Beitrag )bei dir funktioniert?


    Gruß & Danke,
    Hendrik

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!