[ANNOUNCE] Graphlcd Kodi Addon

  • Pünktlich zu Weihnachten möchte ich ein Projekt veröffentlichen an dem ich nun schon einige Tage arbeite:


    https://github.com/M-Reimer/script.service.graphlcd


    Mit diesem Addon kann Kodi an Graphlcd-Base angebunden werden. Es funktioniert noch nicht alles 100%ig aber für den Anfang ist das ganze schon recht gut brauchbar.


    Features:
    - Live-TV-Ansicht ähnlich der im VDR-Plugin (aber nicht auf VDR beschränkt. Sollte auch mit tvheadend funktionieren)
    - Hauptmenü und Untermenüs können ohne Fernseher bedient werden
    - Wiedergabestatus wird im LCD dargestellt.


    Getestet mit der aktuellen Kodi Stable. Sollte auch mit der aktuellen Entwickler-Version gehen, wird damit aber nicht getestet. Bei Problemen mit der Entwickler-Version bitte selber fixen und einen Pull-Request erstellen!


    Die Channel-Logos sind noch alles andere als perfekt. Wenn sich hier jemand berufen fühlt, dann nur zu.


    Das Addon ist zweigeteilt. Ich habe möglichst viel in Python gemacht. Die Graphlcd-Anbindung ist aber eine in C++ geschriebene Library die kompiliert werden muss, damit das ganze funktioniert!


    Empfohlene Displays sind das SDC-Megtron oder Alphacool LCD. Ich habe beide im Einsatz. Allerdings sieht es so aus als wären beide aktuell nicht mehr neu zu bekommen. Auf lange Sicht gesehen wird man sich also eine Alternative suchen müssen.

  • Ich habe mal ein paar Fotos hinzugefügt.


    Im ersten Entwurf war noch ein Bug enthalten der direktes Kompilieren unmöglich gemacht hat. Sollte jetzt gefixt sein.


    Mit den Channellogos bin ich auch weitergekommen.


    Gibt es hier niemanden der Kodi auf einem HTPC einsetzt der ein grafisches LCD verbaut hat? Im Prinzip sollte auch Parallelbetrieb mit dem graphlcd-Plugin im VDR kein Thema sein. Das LCD muss VDR-seitig aber freigegeben werden bevor Kodi gestartet wird!

  • Super - da sag ich schon mal besten Dank!
    Ich habe das Display derzeit mit lcdproc und XBMC laufen - derzeit Update ich aber den VDR (System 3) auf Xubuntu 14.04 mit aktuellem VDR und Kodi.
    GraphLCD stoppe und starte ich dabei wie folgt:

    Code
    1. svdrpsend PLUG graphlcd DISCONN
    2. ---
    3. svdrpsend PLUG graphlcd CONNECT
    4. svdrpsend PLUG graphlcd UPD


    Kodi verwende ich aber nicht zum TV sehen, sondern nur als Medienplayer (Musik und Videos) oder Wetteranzeige.


    Sobald die Installation fortgeschritten ist, werde ich das Plugin installieren und ausprobieren.

    My VDRs:

  • Das mit dem Stoppen passt schon so. Optimal wäre wenn du keinen neuen Eintrag in die graphlcd.conf gemacht hast sondern nur einen bestehenden geändert. Ich kann die Einstellungs-Seite in Kodi nämlich nicht dynamisch generieren. Deshalb gibt es dort nur die Standard-Einträge die mit graphlcd-base kommen.


    Ich freue mich schon über Erfahrungsberichte.

  • Ich bin sehr gespannt auf dein Feedback! Gerade auf gängigen ARM-Plattformen habe ich gewisse Bedenken wegen der Performance. Hier ist sicher noch Optimierungsbedarf.


    Zum Kompilieren brauchst du eigentlich neben graphlcd-base nur die nötigen Header für die auf deiner Plattform verwendete Python-Version. Eine direkte Abhängigkeit zu Kodi gibt es nicht.


    Allerdings werde ich ab nächster Woche wieder nur recht sporadisch Zeit haben. Hier im Forum kann ich gegen Abend aber antworten. Ernsthaft mit eventuellen Pull-Requests kann ich mich nur an Wochenenden befassen.


    Ich bin auch am planen wegen einem Eigenbau-LCD-Treiber auf Arduino-Basis. Kann sich zwar etwas ziehen aber in absehbarer Zeit wird es von mir sowohl eine graphlcd-Base-Anpassung als auch einen Arduino-Sourcecode geben mit dem alle LCDs, die graphlcd-base unterstützt, auch via USB gehen. Ich will dann gleich auch PWM-Steuerung für das Backlight implementieren. Um in Zukunft noch grafische LCDs nutzen zu können kommt man um sowas nicht herum, denn die käuflich zu erwerbenden USB-LCDs werden wohl alle nicht mehr gefertigt.

  • Nabend!
    Hab mir das Addon mal testweise installiert,bekomme aber leider ne Fehlermeldung im kodi:



    Ich nutze aktuell das Alphacool mit vdr-graphlcd, graphlcd-base ist die neuste aus dem git.
    Habe jetzt mal mit und mal ohne aktiven VDR den kodi gestartet, wirft mir immer den Fehler.


    Lars

    Asus M3N78-EM, AMD Athlon II X2 240e, 4GB DDR21066GeilGreen, Crucial M4 SSD+3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Ok danke,hatte in der graphlcd.conf noch serdisplib konfiguriert und in kodi war alphacool eingestellt...Jetzt funzt es,sieht gut aus :tup


    Leider klappt das Umschalten zwischen Kodi und VDR nicht. Vor dem Start von KODI bekommt der VDR noch "svdrpsend PLUG graphlcd DISCONN", trotzdem:



    Blockiert das VDR Plugin noch?

    Asus M3N78-EM, AMD Athlon II X2 240e, 4GB DDR21066GeilGreen, Crucial M4 SSD+3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Moin!

    Hilft ein kurzes Sleep vor Kodi?

    Nee hilft leider nicht,auch wenn ich mehrere Sekunden warten lasse. Mit dem DISCONN wird das Display noch schön "leer geräumt" trotzdem kassiert dein Addon dann die Fehler.


    Dummerweise klappt auch der CONN beim zurückschalten auf VDR dann nicht mehr seh ich grade:

    Code
    1. [vdr@vdr ~]$ svdrpsend plug graphlcd CONN
    2. 220 vdr SVDRP VideoDiskRecorder 2.2.0; Sat Jan 7 10:51:27 2017; UTF-8
    3. 900 Error: no display connected
    4. 221 vdr closing connection


    Erst nach nem Neustart des VDR funzt das Display wieder.


    Kodi allein mit gleichem User geht!


    [Edit] Ich hab wohl nochn grundsätzliches Problem mit dem graplcd Plugin. Der CONN bringt grundsätzlich "no display connected" egal ob ich zwischendurch den Kodi gestartet hatte oder nicht. Einmal per svdrpsend das Ding disconnected dann hilft offenbar nur noch ein VDR Neustart ?(

    Asus M3N78-EM, AMD Athlon II X2 240e, 4GB DDR21066GeilGreen, Crucial M4 SSD+3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von cooljay032 ()

  • Eventuell findet ja jemand anderes hier die Ursache. Ich weiß nicht was wastl für ein Setup hat, aber wenn er auch vorhat von VDR zu Kodi zu wechseln, dann könnte er ja vielleicht auch auf dieses Problem mal ein Auge werfen?


    Eigentlich habe ich gehofft, dass das Display sauber freigegeben wird und so ein Switch vom VDR aus kein Thema ist. Dies ist offensichtlich aber wohl nicht so. Möglicherweise ist der Fehler in graphlcd-base zu suchen.


    Ich habe allerdings aktuell keine Zeit um das in der Tiefe zu analysieren. Ich selber nutze nur Kodi und müsste erst ein entsprechendes Testszenario aufbauen...


    Nur zur Sicherheit: Geht denn "trennen" beim VDR und nach kurzem Warten ein "reconnect"? Also ohne das Kodi je involviert war? Wenn das auch nicht geht würde ich das als Beweis dafür sehen, dass in graphlcd-base irgendwas nicht stimmt. Eventuell ist der Fehler gar in der serdisplib zu suchen.


    Edit: Nach deiner Ergänzung oben erübrigt sich der Test. Im Prinzip ist nicht konkret mein Addon schuld sondern "irgenwas dummes" passiert beim Trennen. Der Fehler ist in graphlcd-base oder serdisplib zu suchen...

  • Nur zur Sicherheit: Geht denn "trennen" beim VDR und nach kurzem Warten ein "reconnect"? Also ohne das Kodi je involviert war? Wenn das auch nicht geht würde ich das als Beweis dafür sehen, dass in graphlcd-base irgendwas nicht stimmt. Eventuell ist der Fehler gar in der serdisplib zu suchen.

    Nein habe ich versucht, der reconnect klappt generell nicht. Einmal per svdrpsend
    das Ding disconnected dann hilft offenbar nur noch ein VDR Neustart.

    Asus M3N78-EM, AMD Athlon II X2 240e, 4GB DDR21066GeilGreen, Crucial M4 SSD+3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Siehe mein Edit :P


    Fehler wohl in graphlcd-base oder serdisplib.


    Mit einem Testprogramm könnte ich das wohl sogar mit überschaubarem Aufwand debuggen. Bei graphlcd-base ist z.B. seit einiger Zeit ein Testprogramm für Skins dabei (auf dem auch mein ganzes Addon basiert). Es sollte mit überschaubarem Aufwand möglich sein damit so eine Situation zu provozieren. Allerdings kann es dauern bis ich selber dazu komme.

  • Hi,
    Benötigt das Alphacool zwingend die serdisplib? Viele gehen ja auch ohne direkt...
    Dann wäre eine Fehlerquelle ausgeschlossen...
    Geht danach denn noch showpic?


    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Meines Wissens nach läuft es nur mit serdisplib.


    Btw. klappt auch der Showpic nicht:


    Ich vermute mittlerweile auch das da noch was in graphlcd und/oder serdisplib schlummert...

    Asus M3N78-EM, AMD Athlon II X2 240e, 4GB DDR21066GeilGreen, Crucial M4 SSD+3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Eventuell findet ja jemand anderes hier die Ursache. Ich weiß nicht was wastl für ein Setup hat, aber wenn er auch vorhat von VDR zu Kodi zu wechseln, dann könnte er ja vielleicht auch auf dieses Problem mal ein Auge werfen?

    habe leider schon sehr lange kein VDR mehr im einsatz (die letzten entwicklungen habe ich behelfsmaessig mit dvb-t damals gemacht und das wurde bei uns vor einiger zeit abgedreht und durch dvb-t2 (verschluesselt) ersetzt ...)


    setup: dzt. libreelec. darum etwas schwierig mit direkt vor ort kompilieren (darum die idee mit cross-compiling). habe aber auch noch wo einen rasppi3 herumliegen mit raspbian glaube ich (waere amd 32bit, der odroid und die q-box waeren amd 64bit).




    ad cooljay32: lt. geposteter fehlermeldung sieht's sehr danach aus, dass das usb-geraet nicht korrekt freigegeben wird (darum das "usb_claim_interface() unsuccessful for interface").
    muss mir die unterschiede zur SVN-version von serdisplib mal durchsehen, da hab ich glaub ich vor einiger zeit mal was korrigiert/verbessert. du hast noch 1.97 im einsatz.

  • Ok dann warte ich mal auf deine Rückmeldung und versuchs dann ggf. nochmal mit der SVN Version.

    Asus M3N78-EM, AMD Athlon II X2 240e, 4GB DDR21066GeilGreen, Crucial M4 SSD+3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Ich bin jetzt auch einmal dazu gekommen, das Plugin zu testen.


    1. Der Treiber "sdcmegtron" verwundert mich etwas - gibt es etwa einen glcddriver der dies direkt unterstützt (ich mein nicht über serdisp)?
    => ok verstanden


    2. Nach Umstellen des Treibers von "sdcmegtron" auf "serdisp" ist eine Fehlermeldung schon mal weg, die wegen des unbekannten Treibers ausgeworfen wird, aber trotzdem kann er den Treiber nicht laden:

    Code
    1. 00:11:26 T:140012578404096 ERROR: Loading config
    2. 00:11:26 T:140012578404096 ERROR: Loading driver
    3. 00:11:26 T:140012578404096 ERROR: Loading skin


    (ich nehme an, das kommt vom Plugin?)


    Da ich auch von VDR zu Kodi switche und zurück (mit dem GraphLCD-Plugin), habe ich dieses mal im VDR deaktiviert, um eine Beeinflussung des Kodi-Plugins auszuschalten.
    Mit lcdproc (LCDd und dem Kodi-Plugin für lcdproc) sowie svdrpsend PLUG graphlcd CONN / DISCONN klappt der Wechsel übrigens.


    Aber auch ohne das VDR GraphLCD-Plugin bekomme ich keine Anzeige auf dem LCD und ebenfalls die o.g. ERRORs :-(


    Wie kann ich hier weiter debuggen? Das Kodi-Log ist irgendwie ungenügend. Es muss ja einen Grund für die Fehler geben.


    Hier ist alles was ich zum LCD-Plugin finden konnte mit Loglevel=3 (Kodi):


    Code
    1. <settings>
    2. <setting id="brightness" value="100" />
    3. <setting id="brightness_screensave" value="70" />
    4. <setting id="driver" value="serdisp" />
    5. <setting id="scrollmode" value="2" />
    6. <setting id="scrollspeed" value="2" />
    7. <setting id="scrolltime" value="500" />
    8. <setting id="skin" value="default" />
    9. </settings>


    EDIT:
    graphlcd:

    Code
    1. [serdisp]
    2. Driver=serdisp
    3. Device=USB:152a/8380
    4. Controller=sdcmegtron


    Ideen?

    My VDRs:

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von dad401 ()