App für RestfulApi

  • Hallo zusammen,


    ich packe den Beitrag mal hier bei den Plugins rein, weil es sich um eine App dreht, die das RestfulApi-Plugin voraussetzt.


    Schon vor längerer Zeit stieß ich auf das RestfulApi-Plugin. Obwohl die Entwicklung dazu scheinbar eingeschlafen ist, begann ich trotzdem eine App darum herum zu programmieren. Erst zu Studienzwecken, um das Programmieren zu erlernen, begann ich nach und nach immer mehr Funktionen der API zu implementieren. Schon aus Neugierde, ob es mir gelingen würde einen VDR darüber zu steuern, ähnlich wie das live-Plugin. Das Ergebnis ist nun eine Android-App mit folgenden Möglichkeiten:


    • Eine Programmübersicht (Was läuft jetzt, als Nächstes etc.)
    • Aus der Programmübersicht einen Timer anlegen oder eine Suche ausführen. Über das Suchergebnis läßt sich auch gleich ein Suchtimer anlegen.
    • Eine Timerübersicht mit bearbeiten und löschen
    • Eine Suchtimerübersicht mit bearbeiten und löschen
    • Eine Übersicht über die Aufnahmen mit zwei Ansichten (Baumstruktur, Liste). Dazu Sortier- und Filterfunktionen
    • Eine Fernbedienung


    Mittlerweile ist das Projekt soweit fortgeschritten, daß ich es auch allen anderen zur Verfügung stellen möchte. Vielleicht können sich in paar User bereit erklären, die App zu testen. Mein Testszenario war bisher immer ein yaVDR mit Satellitenkanalliste. Interessant wäre es, ob das Programm auch mit anderen Empfangswegen und VDRs zurecht kommt.


    Leider kann ich nicht sagen, welches Android-OS mindestens notwendig ist. Es läuft auf jeden Fall auf meinem sehr alten Nexus-Tablet mit der Version 6.0.1. Auf dem VDR sind die beiden Plugins restfulapi und epgsearch notwendig.


    Was wäre ein geigneter Platz zum hochladen? Da gäbe es, soweit mir bekannt, projects.vdr-developer.org. Oder soll ich mich gleich bei github anmelden? Was könnt ihr mir empfehlen?


    Für einen ersten Eindruck habe ich ein paar Screenshots erstellt.


    Bei Github gibt es nun eine Seite mit Beschreibung und Downloadmöglichkeit bei Releases.



    bis dann

    rbrt

  • Vielleicht nur meine Meinung, aber ich würde nichts neues mehr bei projects.vdr-developer.org ablegen. So gut wie jeder andere "etablierte" Projekthoster bietet mehr in einer moderneren Umgebung.


    Ich könnte dir etwas im Kontext von https://github.com/vdr-projects anlegen, aber selbst das ist optional. Prinzipiell wäre es vollkommen OK wenn du im Kontext des GIT-Hosters deiner Wahl selber etwas anlegst.

  • Das beste wird sein, dir einen kostenlosen github account zu erstellen und das dort in deinem persönlichen repository zu 'lagern'.


    Am Ende des Tages ist aber auch klar, dass Arbeiten mit git meist mehr Aufwand als Nutzen für den Programmierer bedeutet.

    Nur die anderen profitieren - es sei denn, *mehrere* Programmierer arbeiten zusammen gemeinsam an einem Projekt und nutzen das wirklich dafür, wofür es vorgesehen ist..

    Aber das ist nat. nur eine persönliche Meinung - und davon gibt es ~8Mrd.

  • Am Ende des Tages ist aber auch klar, dass Arbeiten mit git meist mehr Aufwand als Nutzen für den Programmierer bedeutet.

    Ich will den Thread jetzt nicht unnötig weiter Off Topic treiben, aber meine Erfahrung ist tatsächlich das GIT dann knifflig wird wenn man mit mehreren gemeinsam am gleichen Projekt arbeitet. Das Lösen von Konflikten überfordert oft "GIT-Neulinge".

    Zumindest ich habe, auch für Projekte die ich mehrheitlich alleine vorantreibe, schon dadurch einen Vorteil das ich für jede Änderung im Code ein Commit und eine Commit-Message habe. So kann ich auch nach vielen Jahren noch nachvollziehen wie es zu bestimmten Änderungen gekommen ist.

    Und zumindest ich habe beim öffentlichen Hosten von Projekten bei GitHub durchaus auch "gemeinsames Arbeiten am Projekt" im Sinn. Nicht selten werden meine Projekte geforkt und ein paar Tage oder Wochen später kommt ein Pull-Request mit einem neuen Feature oder einem Bugfix.


    Aber um das Thema abzuschließen: Scheint mir ja so als wäre rbrt potentiell noch "GIT-Neuling". Deshalb bei Bedarf gerne auch Threads mit Fragen zu GIT, vielleicht unter C / C++ / Scripten , anlegen. Ich nutze GIT schon viele Jahre privat und seit einigen Jahren auch beruflich. Und da bin ich sicher nicht der einzige hier.

  • Ich habe mir jetzt github angesehen und denke, daß es nicht der richtige Platz ist. ich stelle ja ein fertig kompiliertes Androidpaket zur Verfügung und nicht den Quellcode. Das Androidpaket habe ich jetzt vorübergehend in meinen öffentlichen Dopboxordner gelegt. Vielleicht findet sich später ja ein anderer Platz dafür.


    Wer das Programm ausprobieren möchte ruft folgenden Link auf.

    https://www.dropbox.com/s/7ff0…vdr-rest-app-0.1.apk?dl=0


    Das Smartphone sollte noch so konfiguriert werden, daß die Installation aus unbekannten Quellen erlaubt wird. Bei neueren Modellen wird man vor der Installation danach gefragt und hakt es einfach ab.


    Die Datei auf dem Smartphone anklicken und es sollte die Installation beginnen. Nach dem anlegen vom ersten VDR sollte unter "Vorgaben" noch die Schriftgröße angepaßt werden.


    Wer die Kanalicons habe möchte muß sie über das RestfulApi bereitstellen. Gute Erfahrungen habe ich mit Picons2VDR gemacht.


    Die Bedienung ist hoffentlich einfach zu verstehen. Dazu noch ein paar Tipps:


    • Ein Klick auf die Kanalnummer (oder Icon) zeigt das Programm des jeweiligen Kanals an.
    • Ein Klick auf den Programmtitel zeigt die Detailinformationen an
    • Die Suche speichert immer alle Einstellungen ab, so daß man sich einen passenden Suchtimer zusammenklicken kann.
    • Eine Besonderheit: Die Timer werden nur zum Programmstart abgerufen. Deswegen gibt es hier den Button "Aktualisieren" in der Timerübersicht.
    • Die Ereignisse der Timer können leider nur einzeln nacheinander abgerufen werden und dauert entsprechend lange.


    Falls Probleme auftauchen oder Änderungen an der Bedienung gewünscht sind, kann ich das noch einbauen bzw. beseitigen.


    bis dann

    rbrt

    Einmal editiert, zuletzt von rbrt () aus folgendem Grund: Noch einen Tipp hinzugefügt.

  • Gibt es einen Grund, warum du den Quellcode (noch) nicht zur Verfügung stellen willst?

    Dann könnte jeder sich die App selbst bauen und ggf. auch etwas anpassen.

  • Dazu wäre noch eine komplette Entwicklungsumgebung notwendig. Ich habe das ganze mit Qt programmiert, sowohl in Qt C++ als auch in QT Quick. Also schnell mal etwas ändern und übersetzen wie z.B. bei den Plugins geht da leider nicht. Aber wenn Interesse besteht, dann kann ich den Code auch mal veröffentlichen. Da wären wir wieder beim Thema Git vom Anfang.

  • Ich empfehle GitHub, weil da einfach schon viele vdr-Projekte sind. Und es ist verbreiteter als GitLab.

    Ich nutze beide, in erster Linie, um problemlos zwischen verschiedenen Rechnern wechseln zu können. Einfach klonen und dort weiterarbeiten, wo ich aufgehört habe. Und es ist zusätzlich auch noch ein Backup.


    Eine IDE sehe ich nicht als Hinderungsgrund. Im Zweifel ein kleines Readme, wo drin beschrieben ist, was man braucht.

  • Wo hast du denn das RestfulAPI her ? Bei mir stürzt das immer ab.

    Und soll bei der Kanalübersicht das umschalten funktionieren ? Bei mir tut sich da nichts.

    Noch ein Tipp: Beim anlegen eines VDR solltest du keinen neuen anlegen wenn die IP Adresse gleich bleibt. Ich hatte da ganz schnell 5 vdrs "angelegt" :)

  • Aber eins: so schnell wie mit dem RestfulAPI bekomme ich sonst nicht (vdrmanager, AndroVDR) die Aufnahme- oder Timerliste aufs Handy :)

    Sieht vielversprechend aus! Danke!

  • Welchen VDR setzt du ein? Ich nutze bisher einen yaVDR 2.4.0 mit der RestfulApi 0.2.6.5. Was wird gerade angeklickt, wenn es zum Absturz kommt?

    Die Kanalliste ist eher experimentell und sollte eigentlich raus. Habe ich vergessen. Ich werde sie überarbeiten und drin lassen. Den Vorschlag mit der IP werde ich mir notieren. Vielleicht auch gleich beim Hostnamen übernehmen. Ich wollte da nur nicht zuviele Restriktionen einbauen.


    Interessehalber: Wie viele Aufnahmen und Timer sind vorhanden? Einige Nutzer kommen ja über Tausend Aufnahmen.

  • Kommt der Absturz auch, wenn man in einem beliebigen Browser folgende URL eintippt: http://server:8002/recordings.json. Im Erfolgsfall erscheint im Browser eine Liste der Aufnahmen.


    Ich habe noch einen Raspi, auf dem ich mittels yavdr-ansible einen yaVDR installiert habe. Der hat ebenfalls die Version 2.4.7. Ich hatte ihn noch nicht ausprobiert, weil er nur eine Reserver sein soll. Da erscheint bei mir im Log auch kein Absturz.

  • Alles selbst compiliert. Und wenn ich den Link der recordings direkt aufrufe dann klappt es.

    Wenn ich mir die Absturzstelle anschaue dann vermute ich ein Problem in RestfulAPI. Ich habe nur SatIP Devices und da wird von einem internen Device ausgegangen.

  • Hat leider etwas gedauert, das Programm abzuändern. Der Infoabruf wird jetzt nicht mehr durchgeführt. Es sollte also zu keinem Absturz mehr kommen. Leider habe ich keinen VDR, um das nachzuvollziehen. Wäre toll, wenn es eine Rückmeldung geben würde. Bei den Einstellungen läßt sich der Speicherverbrauch wieder einschalten, um die aktuelle Belegung bei den Aufnahmen wieder anzuzueigen.


    Das Umschalten in der Kanalübersicht funktioniert jetzt auch.


    Den Link zum Download habe ich im ersten Beitrag hinterlegt. Einfach das Update durchführen. Alle Einstellungen werden normalerweise beibehalten.

  • Nett, aber der Inhalt im Dropbox-Link ist immer noch identisch zur ersten Version (und auch der Name).

    Wo gibt es das Update?

  • Also bei mir hat der Link funktioniert.


    Läuft nun super nur kommen nun die Wünsche :) In der Kanalliste funktioniert das umschalten. 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.

    Ist nur eine Idee, dann könnte ich es bei meinen DAUs einsetzen.


    mfg

    jojo61

Jetzt mitmachen!

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