App für RestfulApi

  • Ich sehe nur den Link vom Beginn des Threads:

    und da ist (Binärvergleich) auch immer noch dieselbe Datei ...

  • Super wäre da noch ein Button um auf das EPG für diesen Kanal zu wechseln. Dann hätte man ein Liste aller Känale mit aktuellem EPG und eine Liste mit EPG von einem Kanal.


    Verstehe ich das richtig: Die gleiche Anzeige, wie wenn man in der EPG-Übersicht auf das Kanalicon (oder Kanalnummer) tippt? Dann erscheinen alle EPG-Einträge zu diesem Kanal.


    wmautner Der alte Link geht natürlich noch. Nimm bitte den Link von jojo61

  • Verstehe ich das richtig: Die gleiche Anzeige, wie wenn man in der EPG-Übersicht auf das Kanalicon (oder Kanalnummer) tippt? Dann erscheinen alle EPG-Einträge zu diesem Kanal.

    :wand Das man in der EPG Übersicht auf den Kanal drücken kann hatte ich noch gar nicht rausgefunden :) Dann erübrigt sich mein Wunsch natürlich.


    Danke für die App. ich werde nun mal meine DAUs damit beglücken.

  • wmautner Der alte Link geht natürlich noch. Nimm bitte den Link von jojo61

    Danke, klappt. Nur eine kleine Frage noch: ist es irgendwo möglich, das Timeout (lange Liste der Aufnahmen) zu konfigurieren?

  • Danke, klappt. Nur eine kleine Frage noch: ist es irgendwo möglich, das Timeout (lange Liste der Aufnahmen) zu konfigurieren?

    Noch nicht. Es war eher als Notausstieg gedacht, damit sich das Programm nicht aufhängt, was bei mir manchmal vorkam. Den Timeout konfigurierbar zu machen hatte ich eh mal vor.


    Damit ich eine Vorstellung bekomme, um wieviel Aufnahmen geht es?

  • :) - ca. 300 Verzeichnisse im video-Ordner, die teilweise Unterordner (Serien, Filme ...) und teilweise mehrere Aufnahmeordner enthalten:

    /srv/vdr/video# find . -maxdepth 2 -name "*.rec"|wc -l

    317


    Danke!

  • Es gibt Neuigkeiten. Die App habe ich geändert und ein paar Anregungen eingebaut:


    • In der Kanalliste kann jetzt auch die EPG-Ansicht aufgerufen werden.
    • In der EPG-Übersicht kann auf einen Kanal umgeschaltet werden
    • Das Verhalten der Timerliste hat sich etwas geändert. Die Ereignisse zu den Timern werden nicht mehr automatisch abgerufen, sondern nur noch über den Button Aktualisieren.
    • Die Timeouts habe ich komplett entfernt. Auch bei sehr großen Aufnahmelisten sollte kein Timeout mehr auftauchen. Es sei denn, ein Netzwerkfehler tritt auf.


    Außerdem habe ich angefangen auf Github eine Seite einzurichten. Dort kann unter Releases die aktuelle Version heruntergeladen werden. Den Link habe ich auch im ersten Artikel geändert.

  • Das kenne ich so gar nicht. Wenn ein neuer Timer angelegt wird holt die App anschließend das Ereignis dazu, was ja zuerst geklappt hat. Was heißt "nochmal ansehen" genau? Kommt der Titel wieder, wenn in der Timerübersicht auf "Aktualisieren" gedrückt wird?


    Wie sieht die JSON-Ausgabe der Timer aus? http://server:port/timers.json. Steht da bei dem obigen Timer im Feld event_id eine -1 oder eine größere positive Zahl?

  • Ja wenn ich auf aktualisieren drücke dann kommt der Titel richtig. Nur wenn ich nach dem einrichten eines Timers danach auf die Timeranzeige gehe dann steht da "fehlendes Ereignis". Nach dem aktualisieren ist des dann richtig.

  • Außerdem habe ich angefangen auf Github eine Seite einzurichten. Dort kann unter Releases die aktuelle Version heruntergeladen werden. Den Link habe ich auch im ersten Artikel geändert.

    Lieber rbrt,


    auf github gibt es nur die README und einen images-Ordner, aber kein neues apk? Wo kriege ich das her?

  • auf github gibt es nur die README und einen images-Ordner, aber kein neues apk? Wo kriege ich das her?

    Auf Github, wie beschrieben...


    https://github.com/rb-rt/restapp/releases

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Das Bild zeigt, daß es keinen Timer gibt. Da muß ich noch die Anzeige verbessern.


    Ich kann es leider nicht nachvollziehen. Wenn ich einen Timer anlege klappt das immer, egal ob direkt aus dem EPG heraus oder über die Timerliste mit "Neuen Timer anlegen". Bei einem Fehler kommt normalerweise von der RestfulApi eine Meldung, die direkt ausgegeben wird. Existiert denn ein Timer auf dem VDR? Laut JSON-Ausgabe ist das nicht der Fall. Kannst du das reproduzieren?


    Bei dem obigen Timer kannst du versuchen, ihn zu löschen. Es sollte dann eine Fehlrmeldung zurückkommen, das die timer_id nicht gefunden wurde. Diese Meldung stammt dann von der API.

  • Es gibt keinen Timer auf dem VDR.


    Wenn ich versuche den Timer zu löschen dann kommt die Fehlermeldung das die Timer Id invalid ist. So wie du schon vermutet hast. Es muss also ein lokales Problem auf der App sein das er den Json return nicht richtig auswertet.

  • Die Beschreibung für eine leere Timerlsite habe ich geändert, so daß es nicht mehr aussieht wie beim Screenshot von jojo61 als gäbe es einen Timer. Die neue Version 0.2.1 kann bei github heruntergeladen werde. Am Funktionsumfang hat sich nichts geändert.


    Noch eine kurze Erklärung wie das mit den Timern abläuft und was es mit dem "fehlendem Ereignis" auf sich hat. Ein Timer wird von der App in zwei Schritten erstellt.


    1. Schritt:

    Nach drücken (oder besser gesagt tippen) auf "Speichern" werden die Daten (Datum, Kanal, Start-,Stopzeit, usw) über die RestfulApi zum VDR geschickt. Als Antwort kommen entweder die Timerdaten zurück oder eine Fehlermeldung. Im Logfile auf dem VDR sieht das z.B. so aus:

    Code
    Feb 16 14:48:23 vdrserv3 vdr: [13619] restfulapi: JSON parsed successfully: yes
    Feb 16 14:48:23 vdrserv3 vdr: [13619] restfulapi: /0:S19.2E-1-1019-10301:2022-02-16:1448:1548:50:99:test:/
    Feb 16 14:48:23 vdrserv3 vdr: [13619] restfulapi: JSON parsed successfully: yes
    Feb 16 14:48:23 vdrserv3 vdr: [13619] timer 0 (1 1448-1548 'test') set to event Mi. 16.02.2022 15:10-15:13 (VPS: 16.02. 15:10) 'Tagesschau'
    Feb 16 14:48:23 vdrserv3 vdr: [13619] restfulapi: timer created!

    Die App sollte jetzt den Timer mit den Aufnahmedaten (Datum, Kanal, Dateiname usw.) anzeigen. So wie es auch im OSD der Fall ist. Allerdings erhalte ich kein passendes Ereignis zum Timer zurück. Die RestfulApi liefert hier nichts dazu (event_id = -1 in dem Fall). Deswegen steht überall "fehlendes Ereignis". Dann kommt der 2. Schritt


    2.Schritt:

    Wurde der Timer erfolgreich erstellt ruft die App nochmals den Timer ab, um an die event_id zu gelangen. Hat sie einen positiven Wert ruft die App nochmals über die API das Ereignis ab und aktualisiert dann die Timerliste. Jetzt sollte auch das Ereignis auftauchen, ansonsten bleibt es bei "fehlendes Ereignis".


    Warum steht bei Programmstart bei allen Timern "fehlendes Ereignis"?

    Der Grund ist ganz einfach: Die Ereignisse können nur Timer für Timer abgerufen werden. Um nicht ständig den VDR zu belasten habe ich darauf verzichtet, die Timerliste bei Aufruf ständig zu aktualisieren und stattdessen den Button "Aktualisieren" eingefügt.

    Es muss also ein lokales Problem auf der App sein das er den Json return nicht richtig auswertet.

    Vielleicht kommen wir mit den obigen Infos dem Problem auf die Spur, warum das bei dir mit den Timern nicht so gut funktioniert.

  • Mit der 0.2.1 tritt das Problem bei mir nicht mehr auf. :thumbup:

    Nach dem anlegen eines Timers ist er sofort richtig da. Und wenn ich ihn wieder lösche dann zeigt er "Keine Timer vorhanden" an.


    Prima


    PS: das anlegen/editieren eines neuen VDRs ist immer noch fehlerhaft. Ich kann immer noch mehrere VDR mit der gleichen IP Adresse anlegen.

  • PS: das anlegen/editieren eines neuen VDRs ist immer noch fehlerhaft. Ich kann immer noch mehrere VDR mit der gleichen IP Adresse anlegen.

    Die Liste mit den ganzen VDRs habe ich jetzt radikal vereinfacht. Das Feld <name> existiert nicht mehr und es kann nur noch einen Eintrag pro VDR geben. Mir fällt auch kein Grund ein, warum man mehrere Einträge zu einem Rechner haben sollte. Damit ist das Problem soweit gelöst (hoffe ich doch).


    Bei den Aufnahmen gibt es einen neuen Button zum Abspielen einer Aufnahme auf dem VDR. Damit man nicht versehentlich auf einem headless-VDR etwas abspielt gibt es vorher noch eine Sicherheitsabfrage.

    Außerdem gibt es jetzt noch die Möglichkeit, nur neue Aufnahmen anzuzeigen. Dafür existiert in der Fußzeile eine Checkbox mit dem namen "nur Neue".


    Das update trägt die Versionsnummer 0.2.2 und kann bei Github heruntergeladen werden.

Jetzt mitmachen!

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