Beiträge von dietrich

    Zitat

    Oder den rp4 als Server nutzen. Und einen rpi<4|>1 als client. Geht gut! ;)


    Das ist eine super Idee :)

    Ich habe noch einen rpi2 rumliegen, damit werde ich es ausprobieren. Ich möchte das ganze 24/7 laufen lassen und hoffe, dass die beiden pis es überstehen.


    Danke foobar42 und Gruß Dietrich

    Hi Liste,


    beim Start mit rpihddevice Plugin auf meinem rpi4 erhalte ich folgende Fehlermeldung:


    vdr --lirc -c /var/lib/vdr -v /home/pi/VDR/video -L /usr/local/lib/vdr -Prpihddevice
    * failed to add service - already in use?


    Kann mir jemand helfen? Oder gibt es eine andere Lösung: evtl. ein anderes Plugin für die Ausgabe?


    Dietrich

    Danke für die Antwort. Das hört sich ja nicht so gut an, denn ich habe mir den PI 4 nur für den VDR angeschafft, mit Argon one Gehäuse und das war zusammen nicht so ganz billig.

    Woran liegt das? Ist es der fehlende Decoder? Sollte es doch eine (Software) Lösung geben, würde ich die gerne einsetzen.

    Hi,


    ich habe auf einem Raspberry PI 4 VDR mit einem "SkyTV Ultimate - DVB-S/S2/S2X USB Tuner" von Sundtek neu installiert. Mit Raspbian Buster.

    Leider habe ich keine TV Ausgabe auf meinem Fernseher. VDR ist ordnungsgemäß gestartet, ebenso der Treiber von Sundtek. Als Ausgabe erscheint lediglich die Ausgabe von der Installation (offenbar XFCE), die ich mit der Maus bedienen kann. Lirc ist installiert und richtig eingerichtet.


    Kann mit jemand helfen?



    Hallo an alle die geholfen haben:


    Fehler gefunden: seahawk1986 gab den entscheidenden Tipp. Im shutdown script wird ein eval mit dem Return-Wert von meinem Python Script ausgeführt. Und das sind alle meine Print-Ausgaben von Python. Und daran "hat er sich verschluckt".


    Nach dem Auskommentieren aller Prints wurde der VDR-Shutdown ordnungsgemäß durchgeführt.


    Vielen Dank und Gruss
    Dietrich

    danke @seahawk1986 für all die Hilfe. Interessant ist das script zur Ausführung der shutdown hooks. Um es zu verstehen benötige ich etwas Zeit. Ich melde mich wieder.


    Hier die Ausgabe ins syslog:


    Code
    time_abs = sys.argv[1]
    time_rel =  sys.argv[2]
    title = sys.argv[3]
    
    
    syslog.syslog(str(sys.argv))
    s = "Next Wake UP in seconds: " + time_rel + " seconds"
    syslog.syslog(s)
    syslog.syslog('normal end')

    Hier ein syslog Auszug:



    Es ist das einzige Script war unter
    /usr/share/vdr/shutdown-hooks
    aufgerufen wird.


    Alles was unter:
    ....vdr S90.apu-wakeup: ....
    aufgeführt ist schreibe ich im Script ins syslog.


    (S90.apu-wakeup ist das Python script.)

    ich kopiere das Script nach /usr/share/vdr/shutdown-hooks/S90.wakeup.py


    Dort wird es bei shutdown mit den Parametern:


    (1) next timer in seconds (from 1970/01/01)
    (2) next in seconds from now
    (3) next title
    (4) shutdown forced


    aufgerufen. Ich beende das Script mit sys.exit(0)

    Moin moin,


    ich schreibe an einem Shutdown-Hook mit Python. Damit verbinde ich mich per TCP/IP mit einem Server der ständig läuft. An diesen Server sende ich die wake-up Zeit.
    Nach Ablauf der Zeit wird dann per Wake-On-Lan der VDR gestartet.


    Das funktioniert auch sehr gut, nur schaltet sich der VDR nicht aus, obwohl ich das Script mit sys.exit(0) beende.


    So rufe ich meinen Server auf:


    Code
    ....
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_address = (HOST, PORT)
    sock.connect(server_address)
    ....


    Kann es sein, dass ich in einem Shutdown Hook keine Socket-Aufrufen absetzen darf? Oder funktioniert es grundsätzlich nicht mit Python?


    Gruß Dietrich

    Hi,


    ich benutze erfolgreich Frank Jepsens Wake-up modul von k-data. Leider funktioniert bei mir "wake on ring" nicht immer zuverlässig. Daher möchte ich gerne über ein Relais den Power Button direkt schalten.


    Kann mir jemand sagen, wie ich da vorgehen muss?


    WOR ist ja an X1 Pin 8 und an DSUB Pin 9 angeschlossen und wird vom MAX232CPE angesteuert. Kann ich an X1 Pin8 direkt ein Relais 5V anschließen? Ich bin mir nicht so ganz sicher und hoffe nichts zu zerstören, vor allem nicht den MAX232.


    Viele Grüße
    Dietrich

    Das hört sich alles sehr gut an und auch ich bin sehr daran interessiert. Mal so auf die Schnelle ein Plugin zu schreiben ist einfach zu verlockend (kann ja auch "Rapid Prototyping" sein; wenn es funktioiniert, kann man es ja immer noch in C/C++ erstellen, wenn Performance gewünscht wird).
    Ich fürchte nur, dass das mit SWIG im ersten Ansatz zu umfangreich wird (eierlegende Wollmilchsau). Gibt es Alternativen?

    Hi,


    danke FireFly für den Hinweis zu den Recording commands. Hatte keine Ahnung davon und werde es mal ausprobieren. Für mein Problem komme ich damit aber sicher nicht weiter.


    Der Hinweis zur Klasse cMenuText ist sicherlich genau der richtige. Ich werde es einsetzen und dann sehen ob es passt. Vielen Dank


    mfg


    dietrich

    Hi,


    danke @avjui. Leider kann ich mit "Punkt commands" nichts anfangen. Wie handle ich so etwas?


    Es geht mir eigentlich darum, wie ich über ein Menu beliebigen Text ausgeben kann.
    Der Hintergrund: Ich möchte in einem Plugin "Still Pictures" anzeigen und über eine Info Taste Erläuterungen zu diesem Bild ausgeben. Es soll nur Text sein, den ich nicht verändern will.


    mfg


    dietrich

    Hi,


    ich möchte in einem Plugin Text über ein Menü ausgeben. So ein Menü, wie es ausgegeben wird, wenn der kInfo Key beim TV sehen betätigt wird. Oben steht das Datum, dann Titel der Sendung und eine kurze Inhaltsangabe über die Sendung.


    Ist sicher trivial, aber ich kann beim besten Willen nicht so das richtige finden. Vielleicht kann jemand mir die Stelle nennen, wo dieses Menü erzeugt wird.


    Ich hab mal ein screenshot beigefügt.


    mfg
    dietrich

    Hi,


    vielen Dank für die Antworten.


    Zitat

    Original von egal
    Naja, abhängig von einem 'Zustand' kann ich doch im eigenen plugin dann dies oder jenes Menu oder oder oder aufrufen.


    Ist das so? Was bedeutet 'Zustand'? Den kann ich mir doch nicht aussuchen.
    Wenn der Thread meine Arbeit getan hat, kann ich mit dem Aufruf cRemote::CallPlugin("mypluginname") sehr gut leben.


    Nur wie ist es mit der Aussage von methodus:


    Zitat

    Original von methodus
    cRemote::CallPlugin erzeugt doch meiner Meinung nach eine Call-Schleife, oder irre ich? Macht also nur sinn, wenn man sich nicht auf das eigene Plugin beziehen will, sondern ein anderes aufruft.


    Kann jemand zu der evtl. auftretenden Call-Schleife etwas sagen? Denn das wäre ja tötlich.


    Und noch eine Frage: Welche Methode vom Plugin wird aufgerufen, wenn ich mich vom thread mit cRemote::CallPlugin("mypluginname") aufrufe?


    dietrich

    Hi,


    ich habe mal eine (ganz einfache triviale) allgemeine Frage zur Plugin-Programmierung: Wie kann ich aus einem cThread die Arbeit fortsetzen?


    Ich möchte beim Aufruf von "MainMenuAction" eine längere Action (Socket connection zu einem anderen host) ausführen. Das werde ich in einem cThread machen, denn aus der "MainMenuAction" Methode soll ja sofort zurückgekehrt werden. Beim Starten des Threads werde ich den Anwender auf dem Menu informieren (im cOsdMenu beim MainMenuAction Aufruf).


    Wenn jetzt der thread beendet ist (ich habe den host gefunden usw.), wie kann ich dann die Arbeit fortsetzen, d.h. etwas auf dem Screen ausgeben um den Anwender zu informieren. Das Plugin wird ja nicht immer aufgerufen und wenn der thread beendet wird kann ich doch nicht einfach was machen (wurde ja nicht vom main aufgerufen).


    Ist sicherlich trivial, aber ich kann nicht weiter.


    Viele Grüße
    dietrich