svdrp UPDT schreibt neuen Timer

  • Ich versuche einen Timer zu aktualisieren (vdr 1.3.45):


    250-4 3208871936:4:2006-04-12:1150:1220:99:99:Kurzfilme~Der Geist von St. Pauli:


    SVDRP:
    UPDT 3208871936:4:2006-04-12:1155:1220:99:99:Kurzfilme~Der Geist von St. Pauli:


    Hinterher habe ich dann einen zusätzlichen Timer mit der selben Id:


    250-4 3208871936:4:2006-04-12:1150:1220:99:99:Kurzfilme~Der Geist von St. Pauli:
    [...]
    250 26 3208871936:4:2006-04-12:1155:1220:99:99:Kurzfilme~Der Geist von St. Pauli:


    Das passiert sowohl, wenn ich Zeiten, oder aber den Titel ändere.
    Die Doku verstehe ich so, daß UPDT einen Timer mit der selben Id aktualisiert sollte.


    Was mache ich falsch?

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS

  • Der Chef persönlich hats empfohlen ;)

    MAIN: La Scala SST-LC04 Gehäuse / Asus P5N7A-VM / Intel E7500 / YaVDR 0.1 / TT-DVB-S2 / IR-Einschalter Atric / Wakeup-On-Call


    ICH: Bin Microsoft, Cisco, VMware und NetApp zertifiziert

  • Ist das so gemeint?


    Dieser Timer soll verändert werden:
    250 35 1144707121:20:2006-04-11:0410:0520:99:99: Die Reise ins Spielzeugland:


    MODT <Nummer> on | off | <Einstellungen>


    vdr:~# /usr/lib/vdr/svdrpsend.pl MODT 1144707121 on 20:2006-04-11:0415:0515:99:99: Die Reise ins Spielzeugland:
    220 vdr SVDRP VideoDiskRecorder 1.3.45; Tue Apr 11 00:26:41 2006
    501 Timer "1144707121" not defined


    Also, ich finde schon, daß dieser Timer existiert :)

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS

  • Zitat

    Original von mago
    Ist das so gemeint?


    ich glaube mal nein..
    so könnte das klappen:

    Code
    vdr:~# /usr/lib/vdr/svdrpsend.pl MODT 35 on 1144707121:20:2006-04-11:0415:0515:99:99: Die Reise ins


    evtl. muss das on auch noch weg; also quasi "on" ODER "off" ODER <einstellung>, ich habe davon allerdings nix getestet oder nachgelesen... ist also ein schuss ins blaue.

  • So geht's:


    vdr:~# /usr/lib/vdr/svdrpsend.pl MODT 35 1144707121:20:2006-04-11:0415:0515:99:99: Die Reise ins Spielzeugland:


    Wenn ich aber on|off einbaue, dann gibt es:
    501 Error in timer settings


    Wie auch immer ich das anordne.
    MODT 35 on 1144707121...
    MODT 35:on:1144707121...

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS


  • Du hast die Nummer des Timers (35) vergessen anzugeben:


    MODT 35 1144707121:20:2006-04-11:0415:0515:99:99: Die Reise ins Spielzeugland:


    Klaus

  • Zitat


    Klaus:


    Du hast die Nummer des Timers (35) vergessen anzugeben:


    MODT 35 1144707121:20:2006-04-11:0415:0515:99:99: Die Reise ins Spielzeugland:


    Stimmt, so hattest du das ja ursprünglich auch vorgeschlagen...
    Ich hatte gestern noch einige Probleme das alles richtig zu sortieren.
    Den die Doku im wiki meint man könne die Aktivierung noch dazwischen klemmen. Was aber so wohl nicht geht, es sei denn, man gibt das on|off exklusiv mit an.


    Ich finde es letztlich aber recht unglücklich, daß zur Referenzierung eines Timers sein Listen-Index verwendet werden muss. Immerhin hat ein Timer doch eine Id. Der Listen-Index kann sich ja nun wirklich innerhalb kürzester Zeit ändern.
    Habe ich also einen Timer in Bearbeitung, muss ich vor MODT immer erst die Timer-Liste laden, um die aktuelle Nummer zu erfahren. Wenn aber seit dem ein Timer aus der Liste fliegt, dann könnte es trotzdem passieren, daß ich den falschen Timer aktualisiere oder ins Leere laufe.


    Ich war halt die ganze Zeit gedanklich auf die Timer-Id fixiert.
    Aber jetzt hab' ich's begriffen.


    Danke!

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS

  • Zitat

    Originally posted by mago
    Ich finde es letztlich aber recht unglücklich, daß zur Referenzierung eines Timers sein Listen-Index verwendet werden muss. Immerhin hat ein Timer doch eine Id.


    Wie kommst du darauf, daß ein Timer eine ID hätte?


    Klaus

  • Zitat

    Wie kommst du darauf, daß ein Timer eine ID hätte?


    Ähm, ja, wie komme ich da eigentlich drauf?


    1144707121:20:2006-04-11:0415:0515:99:99: Die Reise ins Spielzeugland:


    Ich bin irgendwie zu dem Schluss gekommen, daß der erste Wert in einer Timer-Zeile eine Id ist. In diesem Beispiel habe ich einen Timestamp erzeugt.


    Anhand der bei mir bestehenden Timer schien mir das eine sinnvolle Interpretation zu sein. :)


    Zu NEWT steht im Wiki zwar:
    active:channel:day_of_month:starttime:endtime:priority:durability:title:


    Die Timer in meinem VDR haben da aber idR. rund 6-stellige Zahlen an dieser Stelle (bisher durch vdradmin erzeugt).


    Echt verwirrend...
    MODT 35 on
    oder
    MODT 35 1:20:2006-04-11:0415:0515:99:99: Die Reise ins Spielzeugland:


    Die Systematik erschliesst sich mir hier erst so nach und nach.


    mago

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS

    2 Mal editiert, zuletzt von mago ()


  • man 5 vdr:


    TIMERS
    The file timers.conf contains the timer setup. Each line contains one timer definition, with individual fields sepa-
    rated by ':' characters. Example:


    1:10:-T-----:2058:2150:50:5:Quarks & Co:


    The fields in a timer definition have the following meaning (from left to right):


    Flags The individual bits in this field have the following meaning:


    1 the timer is active (and will record if it hits)
    2 this is an instant recording timer
    4 this timer uses VPS
    8 this timer is currently recording (may only be up-to-date with SVDRP)


    All other bits are reserved for future use.




    Wenn jemand in die "Flags" reinschreibt, was er will, so kann ihn davon niemand abhalten. Deswegen wird daraus aber noch lange keine Timer-ID (zumindest nicht für VDR).


    Klaus

  • Nun gut. Dann frage ich mich wiederum, wie ich den einen Timer für ein Update zuverlässig identifizieren kann?


    Die Position in der Timerliste erscheint mir eben als nicht besonders geeignet.
    Schon bei meinen ersten Tests ist dieses Problem zu Tage getreten.
    Ich rufe einen Timer zur Bearbeitung auf. Inzwischen ist eine Aufnahme beendet, die Timer rücken einen Zähler hoch und peng.
    Wenn ich dann noch hinreichend viele Parameter verändert habe, dann hilft mir auch eine Inhalts-Analyse des Timers nicht mehr ihn sicher wieder zu finden.


    Oder hab ich da wieder was nicht richtig verstanden? ;)

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS

    Einmal editiert, zuletzt von mago ()


  • Das könnte natürlich ein Problem sein.


    Als mögliche schnelle Lösung könnte ich mir vorstellen, daß Timer nur dann gelöscht werden, wenn im Moment keine SVDRP-Verbindung offen ist.


    Klaus

  • oder alternativ, so wie mago es zuerst probiert hat, über svdrp sowohl index des timers, als auch die alten settings übergeben werden. nur wenn beides übereinstimmt werden die neuen settings übernommen.


    das ganze ist so und so ein generelles problem: habe ich mir über svdrp (vdradmin) mir eine liste der aufzeichnungen anzeigen lassen, lösche dann über OSD eine aufnahme, und klicke im nächsten schritt bei vdradmin auf löschen einer weiteren aufnahme, wird wohl in den wenigsten fällen die aufnahme gelöscht werden, die ich wirklich löschen wollte.


    evtl. macht es sinn, für die ganzen befehle, bei denen ein solcher konflikt auftreten kann, immer noch den gegencheck mit dem index und den aktuellen/alten settings zu machen. je nachdem, ob beides zueinaner passt wird geändert/ne fehlermeldung ausgegeben.


    (verdammt,.. sind das alles lange sätze)

  • Zitat

    Klaus meint:
    Als mögliche schnelle Lösung könnte ich mir vorstellen, daß Timer nur dann gelöscht werden, wenn im Moment keine SVDRP-Verbindung offen ist.


    Das bringt nichts. Denn die SVDRP-Verbindung wird ja nach dem Request gleich wieder geschlossen. Sonst würde ich SVDRP ja uU. sehr lange blockieren müssen.


    Zitat

    slime meint:
    evtl. macht es sinn, für die ganzen befehle, bei denen ein solcher konflikt auftreten kann, immer noch den gegencheck mit dem index und den aktuellen/alten settings zu machen. je nachdem, ob beides zueinaner passt wird geändert/ne fehlermeldung ausgegeben.


    So werde ich es machen. Ich merke mir den alten Timer-String und werde damit beim Update den momentanen Timer-Index ermitteln.


    Eine Unique-Id wäre hier aber schon sehr sinnvoll. Wobei dann wohl die Kompatibilität zu all den existierenden Anwendungen flöten gehen würde...

    ctvdr, Silverstone LC17, Asus PB5 Plus, Celeron S 440, TT DVB-T FF 1.2, TerraTec Cinergy 1200 DVB-T, AVboard, WD10EADS

Jetzt mitmachen!

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