[ANNOUNCE] CEC Remote Plugin 0.4.0

  • Es gibt eine neue Version 0.4.0 des CEC Remote Plugins mit folgenden Änderungen:

    • Fixed out of bounds write (Danke an sirwio).
    • Neuer Tag <cecdevicetype> um die Device-Typen die mit libCEC für den VDR registriert werden, konfigurieren zu können.
    • Neuer Tag <device> um Devices per physikalischer CEC Adresse ansprechen zu können.
    • Doku.


    Doku gibt es jetzt unter http://www.uli-eckhardt.de/vdr/cec.de.shtml.
    Download der aktuellen Version unter http://www.uli-eckhardt.de/vdr…d/vdr-cecremote-0.4.0.tgz.


    Bugreports, Anmerkungen, Tippfehler oder Verbesserungen zur Doku werden gerne genommen.


    A new version 0.4.0 of the CEC-remoteplugins is available with the following changes:

    • Fixed out of bounds write (thanks to sirwio).
    • New tag <cecdevicetype> to configure the device types registered for the VDR in libCEC.
    • New tag <device> to address devices per physical CEC address.
    • Documentation.


    The documentation is available under http://www.uli-eckhardt.de/vdr/cec.en.shtml.
    Download of the version 0.4.0: http://www.uli-eckhardt.de/vdr…d/vdr-cecremote-0.4.0.tgz.


    Bug reports, comments, spelling errors or improvements to the documentation are always welcome.

    VDR 2.4.1 Kodi 18.6-Leia
    Ubuntu 20.04, Kernel 5.6.13, Thermaltake DH102, ASHRock J4105B, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.1-git, cecremote 1.5.0, osd2web 0.2.51, softhdvaapi v3.1.1-GITa41f6b2

  • Hallo,
    das schaut ja von den Funktionen schon mal richtig gut aus.


    Wenn ich noch 2 Vorschläge machen darf:

    • Im "global" anstatt (oder zusätzlich) zu onstart/onstop des plugins selbst eine Funktion, die zwischen manuellem Start (powerknopf / remote des VDR) und Start durch Timer unterscheidet. Usecase: man könnte dann bei manuellem Start TV und Receiver anschalten (und wieder aus) und beim Timerstart nichts machen
    • Abfragemöglichkeit (condition) ob "active-source" in den Kommando-Einträgen. Usecase: VDR, TV und Reciever laufen und man entscheidet sich, eine BluRay mit dem BD-Player zu schauen. Der switched per CEC den Eingang auf sich um. VDR fährt dann nach Inaktivität runter, und würde dann TV und Receiver ausschalten. Die libCEC gibt es meines Wissens her, dass man den "active source" abfragt. In diesem Fall könnte man dann das Ausschalten verhinden, da der VDR nicht "active-source" ist


    Danke,
    -Markus

  • die zwischen manuellem Start (powerknopf / remote des VDR) und Start durch Timer unterscheidet.


    Das wäre eine Funktion, die könnte ich auch gebrauchen 8) . Hat da jemand eine Idee/Tipp, wie ich im Plugin diese Starttypen unterscheiden kann?

    VDR fährt dann nach Inaktivität runter, und würde dann TV und Receiver ausschalten. Die libCEC gibt es meines Wissens her, dass man den "active source" abfragt. In diesem Fall könnte man dann das Ausschalten verhinden, da der VDR nicht "active-source" ist


    Scheint mir auch sinnvoll. Mal schauen, ob ich Ausschalten wegen Inaktivität und Ausschalten über Knopf irgendwie im Plugin unterscheiden kann. Hat da jemand einen Tipp wo ich nachschauen kann?

    VDR 2.4.1 Kodi 18.6-Leia
    Ubuntu 20.04, Kernel 5.6.13, Thermaltake DH102, ASHRock J4105B, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.1-git, cecremote 1.5.0, osd2web 0.2.51, softhdvaapi v3.1.1-GITa41f6b2

  • Hallo,
    im vdr.log schreibt er ja immer bei non-timer start "assuming manual start". Scheinbar wird das über eine einfache Zeitdifferenz in der shutdown.c gemacht:


    Kann man wohl so nicht abfragen, wohl einfach den Code kopieren.


    Ich frage mich, ob man wirklich zwischen idle-powerdown und PowerOff-Knopf unterscheiden muss. So wie ich das CEC-Protokoll verstehe, sollte man bestimmte Dinge sowieso nur tun, wenn man "active-source" ist, damit man eben andere aktive Geräte am Bus nicht stört.
    Daher wäre es wohl einfacher, generell vor dem Ausführen der onStop/poweroff-Kommandos zu prüfen, ob man active-source ist. Zum Übersteuern könnte man ein Tag onStopForce und PowerOffForce oder so machen, was die Befehle immer schickt.


    Danke,
    -Markus

  • Ulrich :
    Dikilee hat 'mal zur Unterscheidung (manueller Start oder Timer) sowas gebaut.
    Das benutze ich noch heute, um den TV bei manuellem Start einzuschalten - es funktioniert.
    Vielleicht kannst Du das als Anregung nutzen.

    Software: yaVDR0.6.1 mit VDR 2.2.0-13yavdr0~trusty, Kernel 4.4.0-193-generic, nvidia 384.130, dddvb 0.9.37.1easyVDR0
    Hardware: ASRock B75 Pro3-M, Intel G2030, RAM 4GB, SSD 64GB, HDD 4TB, Zotac GT630 ZONE Edition 1024MB GK208 (SKU:ZT-60408-20L), DD Cine C2/T2 V7
    Fernseher: SONY KDL-32D3000


  • Ich würde mir wünschen, dass KeyRepeat funktioniert. Wenn ich bei meiner X10-Remote den Down-Taste festhalte, dann saust der Balken in gefühlter Lichgeschwindigkeit über den Bildschirm. Beim deinem Plugin schlafen mir die Füße ein. Aber ansonsten funktioniert es schon wirklich gut.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Hi,
    vielleicht habe ich es ja überlesen, aber was für Voraussetzungen an Hardware muß man den haben, damit cec genutzt werden kann? Soweit ich das verstanden habe geht das doch nur, wenn die Grafikkarte über HDMI auch CEC unterstützt, oder? Der LED TV sollte das bei den meisten können, selbst mein alter 6 Jahre alter Loewe beherscht das.


    Wäre ja schon sehr interessant, wenn das genauso gut wie beim Raspi mal später gehen würde, dann muß man sich endlich nicht mehr mit der separaten Fernbedienung oder allinone rumärgern.

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • vielleicht habe ich es ja überlesen, aber was für Voraussetzungen an Hardware muß man den haben, damit cec genutzt werden kann?


    Wenn du keinen Raspberry Pi hast, dann brauchst du das hier.


    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

  • Danke schon mal für die Infos und Hilfen :D


    Hier mal meine aktuelle Todo-Liste mit Punkten die hoffentlich so problemlos umsetzbar sind:

    • Eine eigene CommandListe <onManualStart> in <global>, die nur beim manuellen Start ausgeführt wird. <onStart> wird immer ausgeführt, beim manuell Starten nach <onManualStart>
    • In <global> konfigurierbar, das automatische Auschalten des VDR verhindern, wenn der VDR nicht der Active-Source ist.
    • CommandListen für den Wechsel zwischen TV/Radio/Recording. In <global> gäbe es dann noch onStartTV, onStopTV, onStartRadio, onStopRadio, onStartRecording, onStopRecording.
    • Key Repeat.

    VDR 2.4.1 Kodi 18.6-Leia
    Ubuntu 20.04, Kernel 5.6.13, Thermaltake DH102, ASHRock J4105B, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.1-git, cecremote 1.5.0, osd2web 0.2.51, softhdvaapi v3.1.1-GITa41f6b2

  • Hi,


    ich habe ein Problem mit dem Plugin am RPI. Und zwar startet der VDR nicht mehr wenn ich das Plugin verwende, oder genauer gesagt, der VDR startet noch, jedoch bleibt der dann einfach hängen, ohne jegliche Ausgabe und reagiert auf keinerlei Eingaben. In den Logs ist noch zu sehen, dass die Konfigurationsdatei eingelesen wird, danach ist Schluss.
    Muss die Konfigurationsdatei irgendwie angepasst werden? Hast Du irgend eine Idee was da schief läuft oder wo ich suchen könnte?


    Claus

    MLD 5.4 mit vdr 2.4.1 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.4 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.4 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • In den Logs ist noch zu sehen, dass die Konfigurationsdatei eingelesen wird, danach ist Schluss.


    Wie stehen denn deine Debug-Parameter? In der Config-Datei sollte wenigstens <cecdebug> auf 7 stehen und der VDR mit -l 3 gestartet werden. Beim Raspi sollte auf alle Fälle nur ein <cecdevicetype> verwendet werden, ansonsten passieren wohl merkwürdige Dinge. Der Fernseher wurde nicht zufälligerweise an den Strom angeschlossen, nachdem das Plugin gestartet wurde? (https://github.com/Pulse-Eight/libcec/issues/63)


    Ansonsten poste mal deine Config-Datei. Wenn der VDR hängt, kannst du noch mit "kill -11" einen core erzwingen. Da sollte man dann sehen, wo genau der VDR hängt.

    VDR 2.4.1 Kodi 18.6-Leia
    Ubuntu 20.04, Kernel 5.6.13, Thermaltake DH102, ASHRock J4105B, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.1-git, cecremote 1.5.0, osd2web 0.2.51, softhdvaapi v3.1.1-GITa41f6b2

  • clausmuus ; das liegt an den 2 <cecdevicetype> Einträgen. Du musst einen auskommentieren. Das ist ein bekanntes Problem beim Raspi.


    Ulrich : kannst du einen bei dem Template in contrib bitte auskommentieren?

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Ja, das wäre schon gut, wenn die Beispielkonfiguration direkt funktioniert, vor allem auf dem RPI, da dieser ja vermutlich der häufigste Anwendungsfall für das Plugin sein dürfte.


    Claus

    MLD 5.4 mit vdr 2.4.1 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.4 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.4 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • hallo,


    das plugin setzt ja pugixml vorraus. irgendwie krieg ich das mit pugixml nicht hin, da ist kein makefile dabei.
    wie installier ich denn pugixml, damit das cecremote plugin compiliert?


    grüße
    duc

    Board: ASUS AT5IONT-I, 4 GB Ram
    DVB Karte: Tevii S480
    40 GB ssd als boot/systemplatte (2,5" Wechelrahmen, um auf einer anderen Platte ein Testsystem zu installieren)
    3x2TB hdd für /media
    Medion X10 Fernbedienung
    yaVDR 0.5
    Samsung UE46D5700

  • E: Paket libpugixml1 kann nicht gefunden werden.
    E: Paket libpugixml-dev kann nicht gefunden werden.



    vielen dank für die antwort, aber das paket ist wohl bei raspian nicht vorhanden. :(
    sorry, hab vergessen zu erwähnen, dass ich das plugin auf dem raspberry pi (2) installieren möchte.

    Board: ASUS AT5IONT-I, 4 GB Ram
    DVB Karte: Tevii S480
    40 GB ssd als boot/systemplatte (2,5" Wechelrahmen, um auf einer anderen Platte ein Testsystem zu installieren)
    3x2TB hdd für /media
    Medion X10 Fernbedienung
    yaVDR 0.5
    Samsung UE46D5700

  • @ Ulrich Eckhardt


    Evtl. kannst Du ja diesen Patch mit aufnehmen,



    denn sonst startet der VDR nicht, wegen:


    Code
    1. Mar 21 13:07:14 [vdr] [539] starting plugin: cecremote
    2. Mar 21 13:07:14 [vdr] [931] osdserver thread started (pid=539, tid=931, prio=high)
    3. Mar 21 13:07:14 [vdr] [cecremote] Can not open file /etc/vdr/plugins/cecremote/cecremote.xml for getting line number
    4. Mar 21 13:07:14 [vdr] [cecremote] Error parsing file /etc/vdr/plugins/cecremote/cecremote.xml: File was not found_At line: -1
    5. Mar 21 13:07:14 [vdr] [cecremote] Error on parsing config file file /etc/vdr/plugins/cecremote/cecremote.xml