[ANNOUNCE] CEC Remote Plugin 1.5.2/1.5.3

  • Die letzten paar Änderungen waren wohl nicht ursächlich, die haben nur eine Racing-Condition getriggert. Ich habe jetzt mal etwas aufgeräumt, den C++ Code modernisiert und die Racing Condition gefixt. Ist alles schon mal im Repo, hat aber noch keine neue Version.

    VDR 2.7.7 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-33 , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.5, femon v2.4.1, menuorg 0.5.2-1, extrecmenung v2.0.14, streamdev-server v0.6.3, cecremote 1.6.0, osd2web 0.3.2, softhddevice v2.4.5-GIT203ffcf

  • btw, wie kann ich die cecremote logs runterdrehen

    cecdebug ist nur für die Debug-Ausgaben vom CEC-Adapter. Ansonsten wird das nur über die -l Option vom vdr gesteuert.

    VDR 2.7.7 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-33 , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.5, femon v2.4.1, menuorg 0.5.2-1, extrecmenung v2.0.14, streamdev-server v0.6.3, cecremote 1.6.0, osd2web 0.3.2, softhddevice v2.4.5-GIT203ffcf

  • Die letzten paar Änderungen waren wohl nicht ursächlich, die haben nur eine Racing-Condition getriggert. Ich habe jetzt mal etwas aufgeräumt, den C++ Code modernisiert und die Racing Condition gefixt. Ist alles schon mal im Repo, hat aber noch keine neue Version.

    Ich habe noch ein bischen gesucht, und habe in der libcec entdeckt, das die libcec auch wenn der port und das basedevice vorgegeben wird, das zunächst annimmt, aber dann trotzdem ein "autodetect" macht indem sie nachsieht welche phys. addresse in der edid drin steht. Das kann man nur verhindern, wenn man die phy. addr. direkt über die api setzt. (SetPhysicalAddress())

    yavdr verwendet ja eine statische edid, die einmalig generiert wird und dann unverändert bleibt. (Damit der VDR weis welcher TV dran ist auch wenn der aus ist) Wenn jetzt, so wie bei mir, bei der yavdr installation der VDR direkt mit dem TV verbunden war, wird diese physikalische addresse in das edid file geschrieben, und nicht mehr verändert. LibCeC liest 1000 aus der edid. Nach dem neu generieren der edid (mit dem Denon dazwischen) macht er das "autodetect" zwar immer noch, aber die libCeC liest jetzt 1100 aus der edid.

    Für das cecremote plugin läuft es darauf hinaus, das die parameter

    Code
    		<hdmiport>1</hdmiport>
    		<basedevice>5</basedevice>

    wirkungslos sind, solange nicht der libCEC über SetPhysicalAddress() direkt eine Adresse vorgegeben wird.

    Mein VDR

    yavdr ansible, Intel N150

  • cecdebug ist nur für die Debug-Ausgaben vom CEC-Adapter. Ansonsten wird das nur über die -l Option vom vdr gesteuert.

    könntest du das ändern sodass cecdebug (oder auch ein anderer (cmdline) parameter) auch für die plugin log ausgaben zuständig ist?

    Mein VDR

    yavdr ansible, Intel N150

    Edited 2 times, last by hugoboss00 (December 1, 2025 at 11:10 AM).

  • Ich verwende da die normalen VDR Logging Funktionen, die möchte ich nicht überschreiben. Wenn du den VDR mit -l3 startest ist das halt sehr geschwätzig.

    VDR 2.7.7 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-33 , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.5, femon v2.4.1, menuorg 0.5.2-1, extrecmenung v2.0.14, streamdev-server v0.6.3, cecremote 1.6.0, osd2web 0.3.2, softhddevice v2.4.5-GIT203ffcf

  • Für das cecremote plugin läuft es darauf hinaus, das die parameter

    Code
    		<hdmiport>1</hdmiport>
    		<basedevice>5</basedevice>

    wirkungslos sind, solange nicht der libCEC über SetPhysicalAddress() direkt eine Adresse vorgegeben wird.

    Für die 1.6.0 habe mal noch in der <global> Section den Parameter <physical> eingeführt, da kann man eine Adresse vergeben.

    VDR 2.7.7 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-33 , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.5, femon v2.4.1, menuorg 0.5.2-1, extrecmenung v2.0.14, streamdev-server v0.6.3, cecremote 1.6.0, osd2web 0.3.2, softhddevice v2.4.5-GIT203ffcf

  • Ich verwende da die normalen VDR Logging Funktionen, die möchte ich nicht überschreiben. Wenn du den VDR mit -l3 startest ist das halt sehr geschwätzig.

    hmm, das verstehe ich nicht ganz, du hast je eh schon ein mapping auf deine eigene logging funktion drin:

    #define Esyslog(a...) ceclogmsg(0, a)
    #define Isyslog(a...) ceclogmsg(1, a)
    #define Dsyslog(a...) ceclogmsg(2, a)

    Da wäre es doch ein leichtes, das dort zentral einzubauen.

    Mein VDR

    yavdr ansible, Intel N150

  • Die Funktionen nutzen auch die selben Log-Level wie der VDR. Die entsprechen esyslog/isyslog/dsyslog, nur das die noch den Plugin-Namen in der Log-Meldung mit ausgeben. Hast du mal ein Beispiel wo was nicht richtig funktioniert.

    VDR 2.7.7 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-33 , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.5, femon v2.4.1, menuorg 0.5.2-1, extrecmenung v2.0.14, streamdev-server v0.6.3, cecremote 1.6.0, osd2web 0.3.2, softhddevice v2.4.5-GIT203ffcf

  • du hast doch auch schon ein ProcessArgs() drin, wenn du das z.b. erweiterst um eine -l option ist der loglevel unabhängig vom vdr einstellbar.

    Wenn keine -l option angegeben wird kannst du dann den SysLogLevel nehmen. Damit ist das verhalten wie vorher.

    Man stelle sich nur vor, alle plugins würden so gesprächig werden, nur weil man im vdr mit loglevel 3 einem Problem nachgehen will....

    Mein VDR

    yavdr ansible, Intel N150

  • Man stelle sich nur vor, alle plugins würden so gesprächig werden, nur weil man im vdr mit loglevel 3 einem Problem nachgehen will....

    Das würde ich mir eigentlich sogar erwarten, wenn ein VDR-Plugin keinen eigenen Loglevel (Parameter) zur Verfügung stellt.

    MyVDR: yaVDR-Ansible (Ubuntu 20, VDR 2.4.8) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr (tvm) - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 21 - xstream
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Das würde ich mir eigentlich sogar erwarten, wenn ein VDR-Plugin keinen eigenen Loglevel (Parameter) zur Verfügung stellt.

    ja, eh. Aber zumindest die plugins die ich verwende haben entweder einen eigenen loglevel oder loggen nur errors

    Mein VDR

    yavdr ansible, Intel N150

  • Ich würde sagen, wenn ein Plugin mit -l3 deutlich mehr Meldungen ausgibt als VDR selbst mit -l3 ausgibt, dann sollte das Plugin einen eigenen Loglevel bekommen.

Participate now!

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