Posts by Lincoln

    Löschen von resume und dann touch auf die .update hilft - zumindest mache ich das so.

    Ähm, vorsichtig gefragt: Auf was muss ich "touch" machen? Ich habe es bislang auf das "übergeordnete" Verzeichnis gemacht, in dem alle Aufnahmen bzw. die Unterverzeichnisse für Serien liegen... Oder muss ich "touch" auf das Unterverzeichnis oder sogar auf das ".rec" Verzeichnis machen?

    Hallo,


    ich würde gerne mit einem Skript bestimmte Aufnahmen als "gesehen" oder "nicht gesehen" markieren. Ungesehene/ neue bzw. gesehene Aufnahmen werden nach meiner Erkenntnis über die Datei "resume" im jeweiligen Verzeichnis erkannt: Wenn in der Datei "I 0" steht oder die Datei nicht da ist, ist die Aufnahme neu und es wird in der Aufnahme-Liste ein "*" vorangestellt.


    Problem/ Frage: Wenn ich die Datei manuell (z.B. mit MidnightCommander) anpasse (also z.B. bei einer gesehenen Aufnahme in die resume "I 0" anstelle von "I 7388" schreibe) müsste die Aufnahme doch beim nächsten Öffnen der Aufnahme-Liste mit "*" als neu markiert sein? Aber das ist sie nicht - obwohl die Änderung von resume funktioniert hat: Das Abspielen startet wieder am Anfang.


    • Ich habe es schon mit "touch /data/tv/.update" probiert - keine Änderung.
    • Wenn ich per Fernbedienung im Menü "Update Recordings" die Aufnahmen neu einlese - keine Änderung.
    • Wenn ich "vdr-dbus-send /Recordings recording.Update" aufrufe, kommt "update of recordings triggered" - aber keine Änderung.
    • Erst nach "Restart VDR" wird der neue Status der Aufnahme gemäß der Datei "resume" angezeigt.


    Mache ich da etwas falsch? Wie kann ich das ohne Neustart bewirken? Im MLD-Forum hatte ich gefragt, aber eine Lösung war nicht dabei: MLD-Forum: Aufnahme als "gesehen" markieren


    Vielen Dank!

    Vielen Dank für das Angebot! Bis jetzt habe ich Channels, Timers und Epg (Events) gelesen; das Ändern von Timern hatte ich bislang nur getestet, aber noch nicht "produktiv" verwendet. Aber ich mache das ja im Wesentlichen, weil ich ein bisschen mit Python spielen möchte :)

    • Die timer_id änderst sich nahezu bei jeder Änderung eines Parameters

    Das bringt mich gerade zum Nachdenken: D.h. ich habe in meinem Python eine Liste mit Timern, ändere einen mit PUT (z.B. aktiv/ inaktiv oder die Stop-Zeit) und will den gleichen Timer wieder ändern -> Dann muss ich zuerst die Timer aus der API neu laden und mit meinen bestehenden Timern in der Liste vergleichen, um die neue timer_id zu bekommen? Danke für den Hinweis!

    Version des Plugins: "vdr-plugin-restfulapi 1:0.2.6.5-13+2.4.7.220.3" (von der MLD System Information von meinem VDR)


    Ich habe das Test-Script gerade direkt aus der Windows cmd.exe mit "python test.py" gestartet -> Exakt die gleiche Meldung...


    Ich hatte es ja oben schon angedeutet - und jetzt bin ich sicher: Der Aufruf verursacht einen Neustart des VDR. Ich hatte den Ton gerade gemutet und nach dem Aufruf des Skripts höre ich plötzlich aus dem Nebenzimmer den TV... Aber in /var/log/messages habe ich keinen Eintrag vom Plugin gefunden, ausser den vom Neustart:

    Ah, vielen Dank, ok, ich glaube die Sache mit dem Ändern von Werten habe ich verstanden - sobald das Deaktivieren eines bestimmten Timers funktioniert, probiere ich das dann aus. Die Doku hatte ich gefunden - und den Link auf den Quell-Code sehe ich mir dann mal an!


    D.h. es bleibt erstmal noch mein Fehler, der das alles verhindert... Ich verwende Python 3.10.1:

    Code
    C:\Users\X>python
    Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.

    Und ich entwickle in Eclipse 2021-12 (4.22.0) mit "PyDev for Eclipse 9.2.0.202110311311".

    Erstmal vielen Dank!


    Aber ich bekomme noch den gleichen Fehler. Und in deinem Coding finde ich nicht, wo ich mitgebe, dass ich "is_active" ändern möchte - denn als nächstes möchte ich ja auch mal andere Werte ändern, z.B. "priority" oder "weekdays"... Oder ist "is_active" eine Ausnahme, weil es ja nicht um einen Wert, sondern um den ganzen Timer geht? Wie müsste PUT dann für z.B. "priority" aussehen?


    Mein aktuelles Coding:

    Code
    import requests
    
    url = "http://xxx:8009/timers"
    params = {"timer_id": "S19.2E-1-1089-12003:0:1642374000:2000:2005", "flags": int(False) }
    r = requests.put(url, data = params)
    r.raise_for_status()


    Und ich bekomme wieder den Fehler:

    Code
    raise ConnectionError(err, request=request)
    requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))


    Vielen Dank!

    Hallo,


    ich versuche gerade mir über das vdr-plugin-restfulapi und Python meinen VDR zu steuern. Ich habe mit folgendem Code die Timer auslesen können und dann auch erfolgreich für meine Zwecke aufbereitet:

    Code
    import requests
    url = "http://xxx:8009/timers.json"
    response = requests.get(url)

    "xxx" ist natürlich dann meine Adresse - aber ich bekomme die Timer und kann sie weiter verarbeiten.:thumbup:


    Aber jetzt will ich einen der Timer ändern, z.B. auf inaktiv setzen - und da komme ich nicht weiter: Ich bin leider weder Python-Profi noch kenne ich mich mit Restful API aus. Und was ich im Internet gefunden hatte, hat mich bislang auch nicht weiter gebracht...


    Aus der Doku zu vdr-plugin-restfulapi:

    Code
    Updating Timers
    PUT http://<ip>:<port>/timers
    Required Body Parameters: timer_id - the id of the timer
    
    Example Request (including HTTP-Header):
    PUT /timers HTTP/1.1
    Content-Length: 81
    Connection: close
    timer_id=C-71-71-61920:0:1324681200:1400:1615&start=2015&stop=2230


    Ich versuche:

    Code
    import requests
    url = "http://xxx:8009/timers"
    payload = {"id": "S19.2E-1-1089-12003:0:1642374000:1600:1605", "is_active": False}
    response = requests.put(url, data = payload)

    Beim Ausführen bekomme ich in Python:

    Code
    raise ConnectionError(err, request=request)
    requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

    Ich glaube sogar, dass der VDR dabei kurz einen Neustart macht...


    Wie oben geschrieben: Das lesen der Timer ist kein Problem und natürlich setze ich für "id" immer die gerade gelesene "id" des Timers - aber PUT bekomme ich nicht hin...


    Was mache ich falsch?


    Vielen Dank!

    Hallo,


    ich habe endlich den Umstieg vom EasyVDR zum MLD (neueste Testing-Version) fast geschafft - und jetzt ist mir beim Timer-Menü (im OSD) etwas für mich unangenehmes aufgefallen:


    - Ich habe diverse Timer, z.B. einen für jede Woche am Freitag um 14:00 Uhr und einen für jede Woche am Freitag um 16:00

    - Der kommende Freitag ist Feiertag und die Sendung kommt erst in zwei Wochen wieder

    - Ich öffne den 14:00 Uhr Timer und setze das Datum bei "Erster Tag" auf ein Datum in zwei Wochen

    -> Soweit ist alles wunderbar.


    - Aber dann schliesse ich den Timer und gelange zurück in das Timer-Verzeichnis (OHNE es neu zu öffnen!)

    -> Im Timer-Verzeichnis springt der 14:00 Uhr Timer dann entsprechend "nach unten", z.B. unterhalb eines Timers, den ich für ein Datum in zwei Wochen erstellt habe

    -> Der Platz des Timers in der Liste stimmt


    ABER: Ich muss ja noch beim 16:00 Uhr Timer ebenfalls das Datum bei "Erster Tag" auf ein Datum in zwei Wochen setzen

    -> Ich muss erst durch die Liste nach oben scrollen und mir den 16:00 Timer wieder suchen


    Dieses Verhalten mag für manche durchaus hilfreich sein, aber ich habe mehr als nur zwei Timer und finde das für mich extrem unschön :(;(:(

    Ich weiß, dass das beim alten EasyVDR nicht so war: Da musste ich erst das Timer-Verzeichnis komplett verlassen und neu öffnen, damit der Timer neu eingereiht wurde - und genauso ist es für mich sehr praktisch.


    Und jetzt die Frage: Kann ich das Verhalten irgendwo einstellen? Ich habe die Einstellungen durchsucht, aber mir ist nichts aufgefallen, was dazu passen könnte... Aber ich kann das natürlich auch übersehen haben... Ich habe das im MLD Forum gefragt - und die Vermutung dort ist, dass das bei einem VDR Update geändert wurde und ich das hier fragen soll...


    Hat jemand einen Tipp? Vielen Dank!

    Dirk

    So, Stand der Dinge: Ich habe festgestellt, dass nach dem Einschalten ein einfaches Strg-Alt-Entf ausreicht um nach dem folgenden Reboot auf den TV zu schalten. Das ist zwar unschön, aber, nachdem mein VDR normalerweise eh' durchläuft, erst mal kein riesiges Problem. Ich hatte für das Board tatsächlich noch ein BIOS-Update aus dem Jahr 2007 gefunden und eingespielt - keine Besserung.


    Nachdem die ASUS GT 610 ja funktioniert hat, schließe ich als Laie mich der Theorie von 3PO an und schiebe es auf die ZOTAC ==> D.h. ich kaufe mir bei Gelegenheit eine neue Graka - sinnvollerweise werde ich es mit ASUS versuchen... Kann mir jemand eine GT 630 oder besser (!) von ASUS empfehlen? Evt. sogar passiv gekühlt?


    Vielen Dank!

    Vermutlich hat halt Zotac mal wieder, mit ihrem Billigzeugs, die Spezifikationen nicht eingehalten....

    Ok, vielen Dank! Das wäre ja mal eine Antwort... Aber dann müssten doch auch andere das Problem haben...?!? Oder ist mein uralt Motherboard da einfach etwas empfindlich?


    Andererseits, passt das denn dazu, dass ich "einfach" nur bei jedem Einschalten (Einschalten des PC - der TV war IMMER an und auf den HDMI-Eingang gestellt!!!) erst ins BIOS-Setup muss, OHNE (!!!) Änderung "Save&Exit" mache und dann der Reboot ohne Probleme auf dem TV landet?!?

    Hallo,


    ich stelle es einfach mal hier herein - wenn falsch bitte verschieben...


    Ich hatte die letzten Wochen testweise eine Distri installiert (welche spielt bei diesem Problem noch keine Rolle) - alles hat funktioniert (PC ist ein Fujitsu-Siemens Celsius W350, Mainboard D2317). Aber ich hatte eine ASUS GT 610 Karte drin. Für den "richtigen" VDR habe ich mir die auch hier positiv erwähnte ZOTAC GT 630 Zone Edition 2GB gekauft.


    • ASUS raus, ZOTAC rein, HDMI wieder angeschlossen --> Kein Bild auf dem TV. ZOTAC raus, wieder rein, kein Bild; und nochmal, kein Bild. Uralt-Monitor über den "alten" Monitor-Anschluss an die ZOTAC --> kein Bild. ;(
    • ASUS rein, wieder HDMI --> TV schaltet automatisch schon auf den PC während das BIOS noch den Speicher hochzählt.
    • ZOTAC rein --> kein Bild. ;(
    • Monitor an den Onboard-Monitor-Anschluss --> BIOS erscheint auf dem alten Monitor. Ins Setup, Onboard-Grafik deaktiviert und PCI-Express Grafik gesetzt (stand vorher auf AUTO). Reboot. TV (über HDMI) zeigt Booten und Distribution startet :] :] :]
    • Okay! ABER: PC ausgeschaltet Monitor ausgesteckt!!! PC gestartet --> kein Bild über TV ;( :wand
    • Monitor eingesteckt, gestartet, ins Setup. Die Werte waren unverändert (Onboard deaktiviert, PCI-Express als Grafik gesetzt). Save&Exit.
    • Reboot --> TV zeigt Bild...! :]

    Und das ist dann der notwendige Ablauf beim Booten:

    • Über Monitor ins Setup, NICHTS (!!!) ändern, Save&Exit (ohne Speichern raus reicht nicht)
    • PC bootet wieder --> TV zeigt Bild über HDMI

    Beim nächsten Reboot/ Neustart MUSS erst wieder am Monitor ins Setup :wand ;(



    Kann sich da einer einen Reim drauf machen??? Wie gesagt, bei der ASUS läuft es ohne Eingriff bei jedem Booten direkt über den TV...!!!


    Vielen Dank!

    Wow, vielen Dank an alle für die Tipps und Berichte!!!


    Wenn ich mir das so durchlese, wäre doch folgendes vielleicht ein sinnvolle Möglichkeit: Ich habe noch eine (sicherlich neuere) Fujitsu-Siemens Celsius W350 (Motherboard D2317, Core2Duo) da stehen, mit der ich gerade Yavdr und EasyVDR für mich ausprobiere...

    • 3TB Platte in die W350 und mit z.B. aktuellem Knoppix oder einer anderen Live-CD booten
    • 3TB Platte partitionieren und mit ext4 formatieren
    • "Fertige" 3TB Platte in die W620 einbauen

    Das müsste doch die Probleme mit dem "uralten" Suse 11.2 (inkl. "damaliger" Kernel - keine Updates, da nie am Netz) beim Partitionieren/ Formatieren umgehen - wenn die Hardware mitspielt...!?