Restfulapi-Plugin

  • Für mich wäre es schon ausreichend Motivation es anders als die Apple-Leute zu tun ;)


    Gerald


    Ich bin zu alt für so ein Scheiß..
    Atari, Commodore, Next, Windows, Linux, iOS, Android ist mir alles egal, ich habe keine Aktien von keinen der Unternehmen und benutze immer was MIR am meisten Spaß macht.


    CU

  • Eben... JSON ist ein Standard.


    Wie FB und twitter ihre Daten ausliefern sagt aber nichts darüber aus, wie der Standard denn nun definiert ist. Was im RFC steht ist da schon eher massgeblich.


    http://www.ietf.org/rfc/rfc4627.txt

    Grüße


    Hannemann

  • Zu dem Remote:


    Was möchtest du denn erreichen und wie genau hast du denn den Request abgeschickt?


    Mann muss den URL ja mit der POST Methode versenden. Wie hast du das gemacht? Es funktioniert nicht, den URL einfach in die Adresszeile einzugeben und Enter zu drücken. Dann schickt der Browser das mit der Methode GET.


    Bei Erfolg würde sich jedenfalls das Menü des VDR öffnen.

    Grüße


    Hannemann

  • Hallo!


    Frage: http://<ip>:8002/info.json


    Liefert ständig neue Werte/Channel:


    "channel":"S19.2E-133-4-14","eventid":35812,
    "channel":"S19.2E-133-1-42","eventid":61782,


    sprich neue TV Kanäle, denke vom EPG Scan (andere SAT Karten), ist das Absicht, soll das so sein?
    Gibt es eine andere Möglichkeit den aktuellen Kanal oder Video ausgabe herauszufinden, von dem Kanal der gerade aktiv im TV angezeigt wird?


    Anfrage bezieht sich auf:


    vdr-plugin-restfulapi_20150210221708testing-0yavdr2~precise.tar.gz


    (vdr-plugin-restfulapi_20150419212959testing-0yavdr0~precise.tar.gz
    => bekomme ich nicht durch den dpkg-buildpackage
    => dpkg-checkbuilddeps: Nicht erfüllte Bauabhängigkeiten: libmagick++-dev)


    CU


    P.S. Habe jetzt auf HttpRequester 2.1 umgestellt, hier lag wohl mein POST Problem.


    P.S. II und bevor jetzt wieder einer schreibt dann übersetzte dir doch libmagick++-dev
    dpkg-checkbuilddeps: Nicht erfüllte Bauabhängigkeiten: chrpath libbz2-dev libdjvulibre-dev libexif-dev libfreetype6-dev libgraphviz-dev libjasper-dev libjpeg-dev liblcms-dev liblqr-1-0-dev libltdl-dev libopenexr-dev libperl-dev libpng-dev librsvg2-dev libtiff-dev libwmf-dev libx11-dev libxext-dev libxml2-dev libxt-dev
    ... und das hört erfahrungsgemäß ja nie wieder auf.

  • Libmagick ist optional. Schau mal ins Makefile. Ich hab das Flag gerade nicht im Kopf.
    Das wird nur verwendet um skalierte Scraper Images auszuliefern.


    Das mit dem Kanal ist bislang so. Ob es dafür einen Grund gibt weiß ich allerdings nicht. Es gibt aber einen simplen fix dafür. Sollte ich mal einbauen. Demnächst gibt es einen neuen release mit Erweiterungen und fixes für Suchtimer. Da kommt das dann mit.


    Eigentlich ist das so auch gar nicht so verkehrt... dann sieht man, was er so macht. Vielleicht lässt sich ja für jedes Gerät der aktuelle Kanal liefern...

    Grüße


    Hannemann

  • Libmagick ist optional. Schau mal ins Makefile. Ich hab das Flag gerade nicht im Kopf.
    Das wird nur verwendet um skalierte Scraper Images auszuliefern.

    Okay.. :D Mutti würde sagen => dann mach es Optional ;D


    Ich bin jetzt nicht so der Makefile Mensch.. (seit Jahren quälen mich die Menschen mit Ihrem Automake (Grüße an F. Naumann+ (Mint) => ist ein anderes Thema))


    #USE_LIBMAGICKPLUSPLUS ?= 1


    #ifeq ($(USE_LIBMAGICKPLUSPLUS), 1)
    #INCLUDES += $(shell pkg-config --cflags Magick++)
    #LIBS += $(shell pkg-config --libs Magick++)
    #CXXFLAGS += -DUSE_LIBMAGICKPLUSPLUS
    #endif


    dpkg-buildpackage -tc -us -uc scheint das nicht zu interessieren, was vergesse ich da?
    1h später immer noch nicht gefunden => ich schau mir das morgen nochmal an. => make clean => make rennt durch..


    Eigentlich ist das so auch gar nicht so verkehrt... dann sieht man, was er so macht. Vielleicht lässt sich ja für jedes Gerät der aktuelle Kanal liefern...

    Das wäre auch super.. allerdings wäre es gut rauszufinden (mitzuliefern) welcher der primäre ist (das bräuchte ich für meine Anwendung).
    -> ich will halt eigentlich den aktiven Sendernamen in meiner App anzeigen.


    Wunschprogramm ON: wenn man schonmal drann ist wäre es auch möglich nicht nur "channel": "S19.2E-1-1026-10050" mitzuliefern sondern auch den Channel Namen (ARD HD) zum Bsp. => würde ich mir eine weitere abfrage mit channel und eventid zu machen ersparen => "start_time": / "time": / "title": wird ja auch schon eh geliefert...


    ???


    n8

  • dpkg-buildpackage -tc -us -uc scheint das nicht zu interessieren, was vergesse ich da?
    1h später immer noch nicht gefunden => ich schau mir das morgen nochmal an. => make clean => make rennt durch..

    Denkfehler => es knallt beim debian Pakete Check?
    Nix nur Makefile..?
    Von dpkg habe ich keinen Plan (wir haben hier redhat, CentOs (und Fedora) und rpmbuild fasse ich auch nicht an)


    CU

  • Sobald GitHub wieder da ist, kann ich dir die Stelle in debian/rules zeigen, wo man sowas einträgt.


    Ist wieder da!


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • In debian/rules musst du für den Build dann das override-Target einfügen und entsprechende Optionen an das Makefile übergeben:


    Code
    .PHONY: override_dh_strip override_dh_auto_install
     
    +MAKE_OPTIONS = USE_LIBMAGICKPLUSPLUS=0
    +
    +override_dh_auto_build:
    +	dh_auto_build -- $(MAKE_OPTIONS)
    +
     override_dh_strip:
     	dh_strip --dbg-package=vdr-plugin-restfulapi-dbg


    Dann sollte es bei dpkg-buildpackage ohne libmagick bauen.
    Wichtig ist, dass das Einrücken mit einem Tabulator passiert, sonst ist es keine gültige rules-Datei. Das ist ja quasi ein Makefile.


    Wenn du einfach die Original-Source anfasst, dann müsstest du das als Patch unter debian/patches ablegen, z.B. mit quilt. Dann würde es auch gehen. Aber dazu findest du online genug Tutorials.


    Lars.

  • conectas
    Wegen der Infos zu den Geräten kannst du mal die Version aus meinem Git bauen. Die ist noch nicht ganz fertig aber den InfoReponder habe ich mal ein büschn gepimpt.


    https://github.com/hannemann/vdr-plugin-restfulapi


    @rest


    Wie kriege ich denn raus, mit welcher Version welche Methoden im VDR eingeführt wurden? Ich bin mir nicht sicher, ob die Daten im InfoResponder auch in älteren Versionen bereits zu Verfügung stehen und will dann evtl. ein paar ifdefs drumbasteln.

    Grüße


    Hannemann

  • Ich würde höchstens noch im vdr 2.0.x gucken, alles davor ist entweder steinalt oder eine Entwicklerversion. Wer auch immer noch auf 1.7.x ist, sollte schleunigst auf mindestens 2.0.x, besser 2.2.x aktualisieren.


    Ansonsten ist "git blame" dein Freund...
    Manchmal steht auch was in der History des vdr.


    Lars.

  • https://github.com/hannemann/vdr-plugin-restfulapi


    Update Status:


    vdr-plugin-restfulapi_20150419212959testing/
    -> vdr-plugin-restfulapi-master_20150506.zip
    Darin entpackt.
    Makefile geändert
    debian/rules angepasst
    dpkg-buildpackage -tc -us -uc => will nicht
    dpkg-buildpackage -d -tc -us -uc = tut es dann


    Version: 0.2.3.1 am kochen


    Also Danke erst einmal soweit.. Testing folgt jetzt.


    Update02
    http://192.168.0.28:8002/info.json


    Mann ist das eine schöne (lange) Liste... :]
    => die in "channel": "S19.2E-1-1011-11110", steht ist die aktive?

  • Ich denke auch, das jeder der kleiner als 2.0 einsetzt wahrscheinlich auch restfulapi nicht nutzen wird. Denn entweder er kann/will es nicht oder "never touch a running system"


    Mal ne andere Frage:


    Um Suchtimer richtig anlegen zu können, musste ich noch so einiges an Restfulapi nachschieben. Dabei ist mir aufgefallen, das die "Kennung für Inhalte" irgendwie über die Service Schnittstelle von epgsearch nicht richtig gelöscht werden können. Ich kann höchstens ungültiges Zeug reinschreiben, dann ist nichts mehr gewählt aber im OSD ist "Kennung für Inhalte verwenden" immer noch aktiv und diese ewig lange Liste aufgeklappt.


    Erwartet wird ein String aus Hex Werten, die zusammengeklebt werden also sowas: 10b3f021
    Übergebe ich einen Leerstring, stellt er die alten Werte wieder her.


    Irgendeine Idee, was ich da übergeben muss?


    Ich glaub das hängt mit der Methode cSearchExt::Parse in http://projects.vdr-developer.…h.git/tree/epgsearchext.c Zeile 420 zusammen...
    Es gibt da auch irgendwo einen Aufruf von strn0cpy. https://github.com/yavdr/vdr/blob/master/tools.c#L130 Was da passiert entzieht sich allerdings meinem Verständnis :)

    Grüße


    Hannemann

  • https://github.com/hannemann/vdr-plugin-restfulapi


    Update02
    http://192.168.0.28:8002/info.json


    Mann ist das eine schöne (lange) Liste... :]
    => die in "channel": "S19.2E-1-1011-11110", steht ist die aktive?


    Keine Ahnung was da steht ;) Ich kann den Link ja nicht aufrufen...


    So richtig zuverlässig scheinen die Angaben zu live und primary nicht zu sein.
    Mir ist aufgefallen, das bei meinem Server gar kein Primary Device ausgegebn wird. 3 Karten dev->IsPrimaryDevice() bei allen false... live auch bei allen false...
    Mal sehen, ob man das noch verbessern kann...

    Grüße


    Hannemann

  • Tipp:
    Wenn man auf die Zeilennummer bei GitHub klickt, bekommt man einen Link auf diese Zeile. Dann muss man nicht erst scrollen... :)


    Lars.

  • Bei Github kenne ich das nur das das bei vdr-developer auch geht wusste ich nicht. Danke :)


    Hast du auch einen Tipp zu meinem Problem?


    Ich weiß zwar nicht, ob das Feature intensiv genutzt wird aber für eine vollständige Implementierung der Suchtimer im wäre es schon ganz schön.

    Grüße


    Hannemann

  • Alles klar. Danke

    Grüße


    Hannemann

Jetzt mitmachen!

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