vdr-plugin-statusleds 0.4

  • Es gibt eine neue Version vom Plugin statusleds.


    statusleds zeigt über LEDs den Status des VDR an:

    Wenn VDR startet, geht die LED an;

    wenn VDR stoppt, geht die LED aus;

    wenn VDR aufnimmt, blinkt die LED (so oft, wie Aufnahmen aktiv sind).


    Die LED kann auf einer Tastatur sein, oder sie wird von einem über USB verbundenem Mikrocontroller angesteuert (der auch als IR-Empfänger für die Fernbedienung dient, siehe https://github.com/j1rie/IRMP_…r/stm32IRstatusled/README).


    Zu finden auf https://github.com/j1rie/vdr-plugin-statusleds

  • Könntest du die Version bitte noch taggen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Könntest du die Version bitte noch taggen?

    ?? es gab doch noch nie ein Tag

    https://www.minidvblinux.de/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.5 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.5 SATIP (softhddevice-drm )

    1x Raspberry 3 mit SATIP MLD 5.4

    1x Raspberry 2 mit STAIPMLD 6.5

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x ODROID N2+ mit SATIP MLD 6.5

    1x ODROID N2 L mit SATIP MLD 6.5

    1x Zotac CI327 MLD 6.5 SATIP (softhddevice)

  • Tags · j1rie/vdr-plugin-statusleds
    Contribute to j1rie/vdr-plugin-statusleds development by creating an account on GitHub.
    github.com

  • Könnte man auch LEDs über gpio des Odroid N2+ ansteuern?


    Bei mir sind alle USB Ports belegt, d.h. einfache Tastatur oder RP2040 ist raus.


    Im Wiki steht -> https://wiki.odroid.com/odroid…ent_40pins#tab__odroid-n2


    Danke vorab

  • Wenn ich das im Code richtig sehe, kann man dem Plugin das Programm, das das Umschalten übernimmt als Argument mitgeben:

    -i stm32IRstatusled_path - das Programm bekommt dann ein Argument -s 1 bzw. -s 0 mitgegeben, um die LED an- bzw. auszuschalten: https://github.com/j1rie/vdr-p…ob/main/statusleds.c#L306 f.


    Also bräuchtest du nur ein Skript oder Programm angeben, das diese Argumente akzeptiert und kannst dann beliebige Aktionen damit umsetzen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bei mir sind alle USB Ports belegt, d.h. einfache Tastatur oder RP2040 ist raus.

    Ein USB hub wäre ein weiterer Weg.

  • Danke für Hinweise und Ideen.


    D.h. für mein Odroid N2 gpio Ansteuervorhaben, müsste eine "Brücke" nach dem Muster stm32IRstatusled gebaut werden.


    Ok, Verständnisfrage:

    Könnte man die IRMP auf STM32 USB-HID Keyboard Variante nicht so ändern, dass auch Tastatur LEDs (Num Lock, Caps Lock, Scroll Lock) über Pins ansteuerbar sind? In der Firmware direkt.

    Das am Ende ein LED Verhalten so wie bei einer echten Tastatur herauskommt . Konfigurierbar mit LED a verwendet gpio x und y

    Wenn Grundfunktion mit den drei LEDs reichen, müsste das statusleds Plugin gar nicht angefasst werden.


    Dann bräuchte man die "Brücke" stm32IRstatusled nur für Größeres.

  • Das Plugin versucht auch die Tastatur-LEDs anzusteuern, aber der VDR muss dazu Zugriff auf eine aktive Konsole haben - wenn das nicht klappt, kann man das im Log sehen: https://github.com/j1rie/vdr-p…ob/main/statusleds.c#L312


    Könnte man die IRMP auf STM32 USB-HID Keyboard Variante nicht so ändern, dass auch Tastatur LEDs (Num Lock, Caps Lock, Scroll Lock) über Pins ansteuerbar sind? In der Firmware direkt.

    Mir ist da nicht ganz klar, wie du dir das vorstellst - man muss ja zwangsweise über einen USB-Endpunkt gehen, um Informationen an den Empfänger zu schicken und der selber hat keine Kontrolle über andere Tastaturen - da der Empfänger an vielen Systemen genutzt wird, bei denen der VDR keinen Zugriff auf eine aktive Konsole hat (z.B. weil ein X-Server auf der aktiven Konsole läuft), bietet der Weg über ein dediziertes Programm die Möglichkeit sich nicht von Terminal-Kontrollsequenzen abhängig zu machen.


    So ein Wrapper-Skript ist kein großer Aufwand:

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Tastatur LEDs (Num Lock, Caps Lock, Scroll Lock) über Pins

    Wie meinst du das? Wenn die LEDs an Pins hängen, sind es keine Tastatur LEDs?


    Du musst doch nur wie von seahawk1986 vorgeschlagen, ein simples Skript basteln, dass deine LEDs über GPIO Pins anspricht.


    Oder meinst du den Pin des RP2040?

    Der wird bereits benutzt: https://github.com/j1rie/IRMP_…r/RP2xxx/src/config.h#L37

  • Einfach/anders ausgedrückt:


    Die IRMP auf STM32 USB-HID Keyboard Variante verhält sich ja dem System gegenüber wie eine normale Tastatur.

    In meiner Denke könnte diese "Tastatur" im Vergleich, auch eine normale USB Tastatur, mit eben 3 LEDs sein.


    Stelle mir also vor dass in der Firmware genau diese LED Funktion mit abgebildet wird. Nur das die passenden LEDs (Num Lock, Caps Lock, Scroll Lock) konfigurierbar an gpio x und y hängen.

    Und dann genau wie Num Lock, Caps Lock u. Scroll Lock einer normalen Tastatur funktionieren.


    Aber selbst wenn sich das so verhält, bleibt das Problem mit aktiver VDR Konsole. Darum das Programm stm32IRstatusled als Brücke.

    Eine echte Tastatur lässt sich auch nur an aktiver Konsole verwenden - verstehe.


    Zurück zu meinem 1. Ansatz.

    Danke für das Script - schaue ich mir heute Abend nochmal konkreter an.

    Klemme dann eine LED an gpio Pins und versuche...

  • Das Plugin versucht auch die Tastatur-LEDs anzusteuern, aber der VDR muss dazu Zugriff auf eine aktive Konsole haben

    Das Plugin steuert alle vorhandenen Tastaturen an, sogar welche, die im laufendem Betrieb gerade erst angeschlossen wurden.

    Wenn man also während einer Aufnahme eine USB Tastatur oder einen KBD-Empfänger ansteckt, fängt der sofort an zu blinken.


    Könnte man die IRMP auf STM32 USB-HID Keyboard Variante nicht so ändern, dass auch Tastatur LEDs (Num Lock, Caps Lock, Scroll Lock) über Pins ansteuerbar sind? In der Firmware direkt.

    Das am Ende ein LED Verhalten so wie bei einer echten Tastatur herauskommt .

    Das geht tatsächlich.


    Dann bräuchte man die "Brücke" stm32IRstatusled nur für Größeres.

    Ja, damit spart man sich bei der Keyboard Variante den Weg über stm32kbdstatusled.

    Ich habe nur NumLock eingebaut, das muss man also auswählen (statusleds.Led = 1 in setup.conf).


    Danke für die Idee!

  • Bitte.


    Verstehe aktive Konsole in diesem Zusammenhang so: Tastatur bzw. LED funktioniert nur, wenn vdr in dieser aktiven Konsole läuft.

    Kann nicht beurteilen in welchen Fällen (Hardware/Ausgabeplugin) das gegeben ist.


    Z.B. bei vdr-plugin-softhdodroid ist ja kein X Server im Spiel, da läuft Tastatur direkt in der vdr Konsole - d.h. da funktioniert es gleich so.

    Werde es mit vorhandener Hardware und Ausgabeplugins einfach mal ausprobieren.


    Plan B wäre dann immer noch gpio mit dem vorgeschlagenen Skript.


    Ich brauche Bastelzeit...

  • Hallo zusammen,


    habe heute von kUbuntu 24.04 auf 24.10 aktualisiert, den VDR (2.7.3) und Plugins neu kompiliert und nun logged das statusleds-plugin:

    2024-11-14T17:19:33.008777+01:00 HTPC vdr[92982]: vdr: cap_from_text failed: Invalid argument

    2024-11-14T17:19:33.009450+01:00 HTPC systemd[1]: vdr.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

    2024-11-14T17:19:33.009506+01:00 HTPC systemd[1]: vdr.service: Failed with result 'exit-code'.

    wenn der VDR mit dem folgenden Patch versehen wurde (aus "patch_for_vdr.diff" aus dem neuen Plugin Sourcecode:

    Code
    cap_sys_tty_config=ep


    Wenn ich dies entferne, startet der VDR normal, aber kann "natürlich" die Keyboard LED bei einer Aufnahme nicht blinken lassen.
    VDR logged dann beim Start:

    2024-11-14T18:20:47.695110+01:00 HTPC vdr: [103227] Status LED's: Thread started (pid=103204)

    2024-11-14T18:20:47.695143+01:00 HTPC vdr: [103227] ERROR: Status LED's: Can't open console /dev/tty

    2024-11-14T18:20:47.695165+01:00 HTPC vdr: [103227] Status LED's: Thread ended (pid=103204)


    Habe ich auch hier gemeldet, vielleicht kennt jemand ja eine Lösung oder hat eine Idee dazu ...


    Viele Grüße,

    Chriss

  • Der Fehler kommt von cap_from_text().

    cap_from_text ist in der libcap definiert.

    Auf meinem openSuse habe ich 2.63, auf Ubuntu 24.10 ist es 2.66: cap_from_text

    Wer will kann ja mal gucken, welche Änderung den Unterschied macht: log

    Das ist relativ überschaubar.

  • Danke jrie!


    Interessant wird's leider nun umso mehr. In Ubuntu ist die v2.66 von libcap schon seit 23.10 enthalten (wenn die Infos von cap_from_text stimmen), davor war's 2.44. Bin auch die Änderungen zwischen 2.63 und 2.66 einzeln durchgegangen und habe dabei für meine Augen nichts auch nur annähernd Verdächtiges gefunden.


    Musste mein System auf kUbuntu 24.04 zurückrollen (Backup der Platte von vorher eingespielt), weil Ubuntu in 24.10 Wayland als default eingestellt hat.

    Da softhddevice kein Fenster mit Wayland geöffnet bekommt ... und ich es ums Verrecken nicht hinbekommen habe, X11 wieder zu reaktivieren, ohne mich dazu jedes Mal manuell anmelden und dabei X11 auswählen zu müssen, habe ich die Rolle rückwärts gemacht.

    Trotzdem habe ich dann von vdr-2.6.6 auf vdr-2.7.3 aktualisiert (ich compiliere immer alles rund um den VDR selber) und da ist das Verhalten haargenau gleich.

    Mit Patch kommt: cap_from_text failed: Invalid argument, ohne Patch: natürlich kein blinkendes LED; weshalb ich momentan noch "meine" Version von statusleds weiterbenutze, die den blinkd nutzt.


    Bin also erst einmal noch ratloser als vorher, aber ggf. hilft dies dem einen oder anderen Mitleser, sich ein Update auf (k)Ubuntu in ähnlichem Szenario wie meinem, reiflich zu überlegen oder für sich schneller Ursachen eingrenzen zu können.


    Viele Grüße,

    Chriss

  • Sorry, hatte das vergessen zu schreiben ...

    Ging es denn mit vdr-2.6.6?

    Jupp, daher bin ich ja so überrascht.


    Wenn dies andere mit einem aktuellen und gepatchten VDR nicht haben, verbuche ich es einfach als eine Merkwürdigkeit meines Systems - und behalte es im Auge bei künftigen Versionen.

    Edited once, last by theonlychriss ().

  • Was hast du denn noch an Plugins bzw. an Patchen?

    Ab welcher vdr Version passiert das bei dir (bisect zwischen 2.6.6 und 2.7.3 = 3 Tests)?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!