[ANNOUNCE] CEC Remote Plugin 1.3.1

  • Die Version 1.3.1 ist nur ein minor-update, die jetzt mit VDR 2.3.1 kompiliert.


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


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

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Hallo Ulrich,
    Erst mal besten Dank für das Super plugin.


    Im großen und ganzen habe ich das plugin verstanden und erfolgreich in Betrieb.


    Entweder habe ich nichts zu dem Thema gefunden, übersehen oder vielleicht auch einfach nicht verstanden.


    Ich habe die Notwendigkeit, ein bestimmtes Cec command zu meinem Amp zu schicken.


    Tx 15 70 13 00, da sonst der VDR auf meinem Amp als aktive Quelle nicht erkannt wird.
    Kann ich dies irgendwie mit dem cecremote plugin an den Amp senden?


    Theoretisch könnten man es so machen:


    Code
    <exec>echo "15 70 13 00"|cec-client -s</exec>


    Sobald ich aber den cec-client verwende, funktioniert das cecremote nicht mehr.


    Danke für deine Infos & Tipps


    Gruß Timo

    VDR: MLD 5.1.0 Testing
    Server: ASUS TROOPER B150 D3 -- Intel i5 6400T -- 4GB RAM -- 2x 8TB Seagte HDD -- RAID 1 -- 2x L4M-Twin S2 ver 6.5 -- 1x L4M-Twin S2 ver 5.4 --
    Clients: Rasperry pi B + Rasperry pi 2 + Rasperry pi 2 + Samsung BD 75000 + Nvidia Shield + Sony TV X8505C

  • Sobald ich aber den cec-client verwende, funktioniert das cecremote nicht mehr.


    Mehrere Prozesse können nicht auf das CEC-Device zugreifen. Du musst da ein Skript schreiben, dass zuerst per svdrpsend den Zugriff des CEC-Plugins abschaltet, dann per cec-client deine Sequenz schickt und dann wieder per svdrpsend den Zugriff des CEC-Plugins einschaltet und dann dieses Script per <exec> aufrufen:

    Code
    svdrpsend plug cecremote disc
    echo "15 70 13 00"|cec-client -s
    svdrpsend plug cecremote conn

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Hi Ulrich,
    danke für die Info.


    Da werde ich mir mal etwas zusammen basteln.


    Theoretisch könnte ich es aber auch direkt alles ins xml file schreiben, oder?


    Code
    <onstart>
    <poweron>TV</poweron>
    <poweron>AMP</poweron>
    <exec>svdrpsend plug cecremote disc</exec>
    <exec>echo "15 70 13 00"|cec-client -s</exec>
    <exec>svdrpsend plug cecremote conn</exec>
    </onstart>


    Gruß Timo

    VDR: MLD 5.1.0 Testing
    Server: ASUS TROOPER B150 D3 -- Intel i5 6400T -- 4GB RAM -- 2x 8TB Seagte HDD -- RAID 1 -- 2x L4M-Twin S2 ver 6.5 -- 1x L4M-Twin S2 ver 5.4 --
    Clients: Rasperry pi B + Rasperry pi 2 + Rasperry pi 2 + Samsung BD 75000 + Nvidia Shield + Sony TV X8505C

  • Theoretisch könnte ich es aber auch direkt alles ins xml file schreiben, oder?


    Ja, das funktioniert auch. Ist allerdings Geschmackssache ;D . Als Shellscript könnte man halt ohne VDR-Neustart ändern oder testen.

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • OK,
    ich habe es dann ganz anders gelöst aber trotzdem in einem Shell-Script. ;)
    Ich habe einfach die zwei CEC Commands in mein Start-Skript für den libcecdaemon vor dem start des libcecdaemon gepackt.
    Anschließend startet dann erst der libcec und vdr.


    Was mich jetzt noch interessieren würde, kann ich über cecremote die Lautstärke meine TV oder AMP steuern?
    In meinem jugendlich Leichtsinn hatte ich die Hoffunge, dass ich einfach eine vdrkeymap im global anlege und die Volume+/- Keys vom VDR auf CEC VOLUME_UP/DOWN ummappe.
    Jetzt habe ich aber gesehen, dass die Keymaps eigentlich nur mit einem Player funktioniert, vermutlich auch, weil hier ja die CEC Adresse des zu steuernden Gerätes definiert ist.


    Gibt es eine Möglichkeit das doch irgendwie umzusetzten oder könnte im nächsten Release Vielleicht eine Option eingebaut werden, bei der man sich aussuchen kann, ob die Voluem-Controls KEYs den VDR oder TV steuern?
    Das wäre echt spitze und alle meine Anforderungen wären erfüllt. :D


    Im Moment Kämpfe ich auch noch damit, dass mein Samsung Bluray auf <poweroff>player</poweroff> nicht reagiert.


    Ich muss aber noch mal sagen, echt super Job gemacht!


    Danke & Gruß
    Timo

    VDR: MLD 5.1.0 Testing
    Server: ASUS TROOPER B150 D3 -- Intel i5 6400T -- 4GB RAM -- 2x 8TB Seagte HDD -- RAID 1 -- 2x L4M-Twin S2 ver 6.5 -- 1x L4M-Twin S2 ver 5.4 --
    Clients: Rasperry pi B + Rasperry pi 2 + Rasperry pi 2 + Samsung BD 75000 + Nvidia Shield + Sony TV X8505C

  • n meinem jugendlich Leichtsinn hatte ich die Hoffunge, dass ich einfach eine vdrkeymap im global anlege und die Volume+/- Keys vom VDR auf CEC VOLUME_UP/DOWN ummappe.
    Jetzt habe ich aber gesehen, dass die Keymaps eigentlich nur mit einem Player funktioniert, vermutlich auch, weil hier ja die CEC Adresse des zu steuernden Gerätes definiert ist


    Ich habe da leider keine Hardware zum testen und muss zudem mal im Code graben, ob das so überhaupt möglich ist.

    Im Moment Kämpfe ich auch noch damit, dass mein Samsung Bluray auf <poweroff>player</poweroff> nicht reagiert.


    Ich habe auch einen zickigen Samsung Blueray Player :§$% , der hängt allerdings noch an einer per USB schaltbaren Steckdosenleiste :D . Aber versuche es mal mit dem Abschnitt, logical undphysical ggf noch anpassen:

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Besten Dank.


    Den Bluray Part werde ich mal testen.


    Im Grunde würde ein LCD TV mit cec ausreichen, um die volume up/down Funktion zu testen, muss ja kein AMP sein.


    Via cec-client und irecx habe ich schon erfolgreich die Lautstärke meines Tv bzw Amp gesteuert.
    Grundsätzlich müsste es bestimmt möglich sein.


    Ansonsten bin ich es aber erst mal zu Frieden. :]


    Gruß Timo

    VDR: MLD 5.1.0 Testing
    Server: ASUS TROOPER B150 D3 -- Intel i5 6400T -- 4GB RAM -- 2x 8TB Seagte HDD -- RAID 1 -- 2x L4M-Twin S2 ver 6.5 -- 1x L4M-Twin S2 ver 5.4 --
    Clients: Rasperry pi B + Rasperry pi 2 + Rasperry pi 2 + Samsung BD 75000 + Nvidia Shield + Sony TV X8505C

  • Grundsätzlich müsste es bestimmt möglich sein.


    Mir ist heute Nacht wieder eingefallen, wo das eigentlich Problem lag. Das Problem lag nicht an libcec. Ich bekomme beim VDR die Tastendrücke nur wenn ich einen Player starte. Aktuell habe ich noch keinen Weg gefunden, auch ohne Player an Keyevents zu kommen.

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Hi,


    Ich hab die letzten Tagen ein wenig mit dem cecremote Plugin unter vdr-2.2.0 gespielt und kann damit meinem RPI2 (fast) perfekt per FB des Fernsehers bedienen.


    In der cecremote.xml hab ich in der global-Section unter cecdevicetype ein RECORDING_DEVICE.


    Es gibt auf der Samung FB anscheinend nur die Knöpfe "PREVIOUS_CHANNEL", "EXIT", "AN_CHANNELS_LIST", "AN_RETURN" und "ELECTRONIC_PROGRAM_GUIDE", die sich "frei" belegen lassen.
    Das hier ist meine ceckeymap:


    Ich habe einen 5 Jahre alten Samsung der C-Serie und prinzipiell funktionieren genug Tasten, um den RPI zu bedienen. Ein paar Eigenheiten hat das Ganze aber.


    Das Drücken der Menü Taste auf der Samung-FB wird im Log so

    Code
    Dec  4 18:34:07 pi-vdr vdr: [cecremote] CEC Command 141 : menu request

    aufgeführt. Leider öffnet der Fernseher nur sein Setup-Menu...
    Kann man da was machen, damit ich die Taste für den VDR nutzen kann?


    Der Knopf AN_RETURN (auf dem Bild "RETURN" links unterhalb des Cursor-Kreuzes) funktioniert nur einmal. Wenn ich also das Menu öffne und sagen wir mal, nach Einstellungen -> Plugins gehe. Dann bringt mich das Drücken von "RETURN" (siehe Bild) Taste zwar zurück zu Einstellungen. Ein nochmaliges Drücken wird zwar im Log vermerkt, bringt mich aber nicht zurück ins Hauptmenu. Drücke ich allerdings eine der Cursor-Tasten und drücke, dann "RETURN", dann komme ich ins Hauptmenu.
    Im Log sieht das dann so aus:


    Woran liegt das?


    Dann gibt es einige Tasten auf der FB (zBsp. AD, P.Size o. Subt.), die beim Drücken keine Message im Log erzeugen. Auf dem Fernseher steht beim Drücken nur "Nicht verfügbar". Kann man dem Fernseher irgendwie beibringen, dass man diese Tasten für den VDR verwenden will?



    Danke schon mal fürs Lesen.


    Jarod

    Gehäuse: Intertech 4U 4416, Board: Supermicro X11SAE; Kathrein EXIP418; OS: Ubuntu 18.04; Plugins: xineliboutput, satip, burn, femon, live, streamdev-server, text2skin:anthra-1920

    2x RPI2/3; Plugins: rpihddevice; videodir via NFS


  • Der Knopf AN_RETURN (auf dem Bild "RETURN" links unterhalb des Cursor-Kreuzes) funktioniert nur einmal. Wenn ich also das Menu öffne und sagen wir mal, nach Einstellungen -> Plugins gehe. Dann bringt mich das Drücken von "RETURN" (siehe Bild) Taste zwar zurück zu Einstellungen.


    Bei dir fehlen aus irgendwelchen Gründen "user control release". Was verwendest du denn für eine Libcec und ist die Firmware deines Fernsehers halbwegs aktuell?

    Dann gibt es einige Tasten auf der FB (zBsp. AD, P.Size o. Subt.), die beim Drücken keine Message im Log erzeugen. Auf dem Fernseher steht beim Drücken nur "Nicht verfügbar". Kann man dem Fernseher irgendwie beibringen, dass man diese Tasten für den VDR verwenden will?


    Da musst du ggf den Hersteller fragen, ich habe leider bei meinem Panasonic auch einige Tasten, die man nicht verwenden kann X(

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Bei dir fehlen aus irgendwelchen Gründen "user control release". Was verwendest du denn für eine Libcec und ist die Firmware deines Fernsehers halbwegs aktuell?


    Die libcec hab ich von github ge-cloned und dann das Tag libcec-2.2.0 verwendet.
    Wie gesagt, der Fernseher ist 5 Jahre alt. Die letzte FW ist von 2013. Es gibt keine Neuere.

    Da musst du ggf den Hersteller fragen, ich habe leider bei meinem Panasonic auch einige Tasten, die man nicht verwenden kann X(


    Na da mache ich mir keine all zu großen Hoffnungen, aber ich werd mal anfragen.


    Jarod

    Gehäuse: Intertech 4U 4416, Board: Supermicro X11SAE; Kathrein EXIP418; OS: Ubuntu 18.04; Plugins: xineliboutput, satip, burn, femon, live, streamdev-server, text2skin:anthra-1920

    2x RPI2/3; Plugins: rpihddevice; videodir via NFS


  • Hi,
    Ich habe bei mir folgendes Setup:
    Samsung TV (hängt am Denon Receiver Output)
    VDR (auf einem Denon Input)
    und ein
    Sony Blueray Player (auch auf einem Denon Input)


    Starte ich den VDR neu, wird der VDR zur active source und der Denon schaltet automatisch auf den richtigen Eingang. (ist auch OK so)
    Danach starte ich den Blueray, der damit zur active source wird. Der Denon schaltet auch brav auf seinen Eingang.


    Aber mein Problem kommt beim abschalten des Blueray.
    Dann wird nämlich plötzlich der Samsung TV zur active source, und der Denon bleibt auf dem letzten (Blueray) Eingang.


    Was ich gerne hätte, wäre das dann wieder der VDR zur active source wird. Ist das prinzipiell möglich, oder macht ich was falsch?


    Hannes

  • Aber mein Problem kommt beim abschalten des Blueray.
    Dann wird nämlich plötzlich der Samsung TV zur active source, und der Denon bleibt auf dem letzten (Blueray) Eingang.


    Wie schaltest du den BlueRay-Player ab, per Fernbedienung des Blueray-Players? Falls Ja, dann kann man das Verhalten nicht ändern, laut CEC-Spec wird, wenn der Active-Source ausgeschaltet wird, automatisch der TV wieder der Active-Source.


    Um das zu umgehen musst du den Player vom VDR aus ein/ausschalten. In der cecremot.xml z.B.

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Wie schaltest du den BlueRay-Player ab, per Fernbedienung des Blueray-Players? Falls Ja, dann kann man das Verhalten nicht ändern, laut CEC-Spec wird, wenn der Active-Source ausgeschaltet wird, automatisch der TV wieder der Active-Source.

    Verstehe, das hab ich befürchtet. Ich schalte den Blueray entweder über seine FB oder direkt am Gerät aus. Für mich wäre es ja kein Problem den Blueray am VDR auszuschalten, aber der WAF sinkt beträchtlich, wenn nach einem "falschen" Auschalten ein "No Signal" Screen am TV auftaucht :)


    Mittlerweile hab ich auch noch ein AppleTV am Receiver hängen, der wird auch über seine eigene FB bedient.


    Deshalb hab ich in der zwischenzeit nach alternativen gesucht und gefunden:
    Ich mache den VDR wieder zur active source, sobald der TV active source werden will.


    In CecCommandCallback():



    Ist vielleicht ein wenig "brute force", aber funktioniert bestens sowohl für Blueray als auch für mein AppleTV.
    Möchtest du das als (configurierbare) Option in deinen Code übernehmen? Der WAF wird es dir danken :)


    lg
    Hannes

  • Ist vielleicht ein wenig "brute force", aber funktioniert bestens sowohl für Blueray als auch für mein AppleTV.
    Möchtest du das als (configurierbare) Option in deinen Code übernehmen? Der WAF wird es dir danken :)


    Ich schaue mir das im neuen Jahr noch mal genauer an, da ist eventuell auch noch etwas Erweiterungsarbeit notwendig, z.B. fällt mir da spontan noch an, in so einem Falle den Stillpic-Player vom Plugin auch noch zu deaktivieren. Das spart dann ggf auch noch einen Tastendruck :D


    :burn1 Guten Rutsch :alki
    Uli

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Hallo,


    ich habe nun auch einen PulseEight Adapter. Unter Kodi funktioniert alles out of the box, mit dem CEC Remote Plugin komme ich aber einfach nicht weiter.
    Meine Konfiguration:
    Denon AV Receiver
    am HDMI-Out des AVRs: Samsung TV an HDMI-Port 2
    an HDMI 1 des AVRs: VDR mit PulseEight


    Leider erkennt das Plugin bzw cec-client den VDR als Gerät 1000. Also der Theorie nach müsste der VDR direkt am Port 1 des TVs hägen. Und genauso schalten sich die Geräte auch um (TV auf HDMI 1, AVR auf Quelle TV).
    Wenn ich im cec-client entweder das Base-Gerät ändere (cec-client -b 5) oder den HDMI-Port wechsle (p 5 1), bekommt der VDR die korrekte Adresse 2100. Leider ist das nicht dauerhaft und nach einem erneuten Connect des Plugins läuft der VDR wieder als Gerät 1000.
    Gibt es eine Möglichkeit im Plugin den Base-Port zu ändern?

    Der Vollständigkeit halber hier die Ausgabe von scan:


    CEC bus information
    ===================
    device #0: TV
    address: 0.0.0.0
    active source: yes
    vendor: Samsung
    osd string: TV
    CEC version: 1.4
    power status: on
    language: ger



    device #1: Recorder 1
    address: 1.0.0.0
    active source: no
    vendor: Pulse Eight
    osd string: CECTester
    CEC version: 1.4
    power status: on
    language: eng



    device #4: Playback 1
    address: 2.5.0.0
    active source: no
    vendor: Unknown
    osd string: Fire TV stick
    CEC version: 1.4
    power status: on
    language: ???



    device #5: Audio
    address: 2.0.0.0
    active source: no
    vendor: Denon
    osd string: AVR-1912
    CEC version: 1.4
    power status: on
    language: ???



    device #8: Playback 2
    address: 2.4.0.0
    active source: no
    vendor: Sony
    osd string: PlayStation 3
    CEC version: 1.3a
    power status: standby
    language: ???



    currently active source: TV (0)

  • Gibt es eine Möglichkeit im Plugin den Base-Port zu ändern


    In der <global> section der cecremote.xmlkann man den Port mittels <hdmiport> konfigurieren, z.B:

    Code
    <global>
      <hdmiport>2</hdmiport>
      ...

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, 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.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Danke, aber das ist ja nur der HDMI-Port am "BaseDevice". Standardmäßig ist das BaseDevice der Fernseher. Bei mir ist der VDR aber am AV Receiver angeschlossen. Ich hab mich mittlerweile auch mal im SourceCode um geschaut. Der Baseport kann in mCECConfig.baseDevice gesetzt werden. Wenn ich das mache (testweise fest auf 5, also dem AV Receiver eingestellt) dann klappt es auch wunderbar und mein VDR bekommt die richtige physikalische Adresse.
    Könntest du das BaseDevice genauso wie den HDMIPort konfigurierbar machen? Das wäre dann die richtige Lösung für das Problem.


    Nebenbei frage ich mich aber auch wieso das BaseDevice und der HDMIPort überhaupt gesetzt werden müssen. Laut libcec Doku sollte das doch per AutoDetect funktionieren. Das klappt aber zumindest bei mir nicht. Und alle meine anderen CEC Geräte werden ja auch einfach so mit ihrer korrekten physikalischen Adresse erkannt...

Jetzt mitmachen!

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