[1] MLD-5.x / General / Lautstärke des Fernsehers vom VDR kontrollieren
 

Offline maf

  • MLD-Tester
  • Member
  • ******
  • Posts: 92
    • View Profile
Lautstärke des Fernsehers vom VDR kontrollieren
« on: December 17, 2017, 12:29:22 »
Hallo,

ich benutzte MLD 5.2 als VDR Client an einem Samsung Fernsehgerät. Das CECRemote Plugin ist installiert und funktioniert. Als Fernbedienung benutze ich aber meist die Medion X10 des Clients, weil ich damit den VDR ein- und ausschalten kann.

Gibt es eine Möglichkeit, über die VDR Fernbedienung die Lautstärke des Fernsehgerätes zu kontrollieren, so wie das z.B. mit der Fernbedienung des Apple TV geschieht? Das hätte für mich den Vorteil, dass ich nur eine Lautstärkeeinstellung (die des Fernsehgeräts) kontrollieren muss, egal ob ich das Fernsehgerät selbst, den VDR oder Apple TV benutze.

maf

Offline joachim-h

  • Adv. Member
  • ***
  • Posts: 100
    • View Profile
Lautstärke des Fernsehers vom VDR kontrollieren
« Reply #1 on: December 17, 2017, 13:29:38 »
Du kannst mal versuchen, ob Dein Fernseher auf die folgenden Kommandos reagiert:
Code: [Select]
echo 'volup' | cec-client -s
echo 'voldown' | cec-client -s
echo 'mute' | cec-client -s

Die sind laut Hilfe des CEC-Clients
Code: [Select]
echo 'help' | cec-client -s nur für Verstärker gedacht, aber vielleicht geht es ja

Falls das funktioniert, musst Du nur noch dafür sorgen (Stichwort: /etc/lircrc) , dass der VDR beim Druck auf die entsprechenden Tasten Fernbedienungstasten diese Befehle ausführt.

Vielleicht weiß aber noch jemand anders eine einfachere, komfortablere oder bessere Lösung?

Offline maf

  • MLD-Tester
  • Member
  • ******
  • Posts: 92
    • View Profile
Lautstärke des Fernsehers vom VDR kontrollieren
« Reply #2 on: December 17, 2017, 13:59:24 »
Danke für Deinen Vorschlag!

Leider funktioniert es so bei mir nicht. Die Kommandos erzeugen zwar einige interessante Ausgaben, haben aber keine Wirkung auf den Fernseher, z.B.:
Code: [Select]
mld1> echo 'volup' | cec-client -s
opening a connection to the CEC adapter...
DEBUG:   [              79]     unregistering all CEC clients
DEBUG:   [              80]     Broadcast (F): osd name set to 'Broadcast'
DEBUG:   [              80]     InitHostCEC - vchiq_initialise succeeded
DEBUG:   [              80]     InitHostCEC - vchi_initialise succeeded
DEBUG:   [              80]     InitHostCEC - vchi_connect succeeded
DEBUG:   [              81]     Open - vc_cec initialised
DEBUG:   [              81]     logical address changed to Free use (e)
NOTICE:  [              82]     connection opened
DEBUG:   [              82]     << Broadcast (F) -> TV (0): POLL
DEBUG:   [              82]     initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
DEBUG:   [              82]     processor thread started
TRAFFIC: [              82]     << e0
DEBUG:   [             143]     >> POLL sent
DEBUG:   [             144]     TV (0): device status changed into 'present'
DEBUG:   [             144]     << requesting vendor ID of 'TV' (0)
TRAFFIC: [             144]     << e0:8c
TRAFFIC: [             338]     >> 0f:87:00:00:f0
DEBUG:   [             338]     >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG:   [             338]     TV (0): vendor = Samsung (0000f0)
DEBUG:   [             338]     expected response received (87: device vendor id)
DEBUG:   [             338]     replacing the command handler for device 'TV' (0)
NOTICE:  [             338]     registering new CEC client - v2.2.0
DEBUG:   [             339]     detecting logical address for type 'recording device'
DEBUG:   [             339]     trying logical address 'Recorder 1'
DEBUG:   [             339]     << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [             339]     << 11
TRAFFIC: [             429]     << 11
DEBUG:   [             520]     >> POLL not sent
DEBUG:   [             520]     using logical address 'Recorder 1'
DEBUG:   [             520]     Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG:   [             521]     Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG:   [             521]     Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG:   [             521]     Recorder 1 (1): CEC version 1.4
DEBUG:   [             521]     AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG:   [             521]     logical address changed to Recorder 1 (1)
DEBUG:   [             521]     Recorder 1 (1): osd name set to 'CECTester'
DEBUG:   [             522]     Recorder 1 (1): menu language set to 'eng'
DEBUG:   [             522]     GetPhysicalAddress - physical address = 1000
DEBUG:   [             522]     AutodetectPhysicalAddress - autodetected physical address '1000'
DEBUG:   [             522]     Recorder 1 (1): physical address changed from ffff to 1000
DEBUG:   [             522]     << Recorder 1 (1) -> broadcast (F): physical adddress 1000
TRAFFIC: [             522]     << 1f:84:10:00:01
NOTICE:  [             673]     CEC client registered: libCEC version = 2.2.0, client version = 2.2.0, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, host: armv7l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi' 'EXYNOS', git revision: fb9cf89, compiled on: Mon Nov 30 14:53:20 UTC 2015 by stable@nightbuild-rpi on Linux 3.18.11-v7+ (armv7l)
DEBUG:   [             673]     << Recorder 1 (1) -> TV (0): OSD name 'CECTester'
TRAFFIC: [             674]     << 10:47:43:45:43:54:65:73:74:65:72
DEBUG:   [             975]     << requesting power status of 'TV' (0)
TRAFFIC: [             975]     << 10:8f
TRAFFIC: [            1119]     >> 01:90:00
DEBUG:   [            1119]     >> TV (0) -> Recorder 1 (1): report power status (90)
DEBUG:   [            1119]     TV (0): power status changed from 'unknown' to 'on'
DEBUG:   [            1120]     expected response received (90: report power status)
volume up: 7F
DEBUG:   [            1121]     unregistering all CEC clients
NOTICE:  [            1121]     unregistering client: libCEC version = 2.2.0, client version = 2.2.0, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, host: armv7l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi' 'EXYNOS', git revision: fb9cf89, compiled on: Mon Nov 30 14:53:20 UTC 2015 by stable@nightbuild-rpi on Linux 3.18.11-v7+ (armv7l)
DEBUG:   [            1121]     Recorder 1 (1): power status changed from 'on' to 'unknown'
DEBUG:   [            1121]     Recorder 1 (1): vendor = Unknown (000000)
DEBUG:   [            1121]     Recorder 1 (1): CEC version unknown
DEBUG:   [            1122]     Recorder 1 (1): osd name set to 'Recorder 1'
DEBUG:   [            1122]     Recorder 1 (1): device status changed into 'unknown'
DEBUG:   [            1122]     unregistering all CEC clients
DEBUG:   [            2084]     UnregisterLogicalAddress - releasing previous logical address
DEBUG:   [            2085]     logical address changed to Broadcast (f)
Danach ist die CEC-Verbindung zwischen VDR und Fernseher unterbrochen; ich muss den VDR neu starten. Das scheint aber unabhängig zu sein vom CEC-Kommando und geschieht z.B. auch bei 'help':
Code: [Select]
mld1> echo 'help' | cec-client -s
opening a connection to the CEC adapter...
DEBUG:   [              75]     unregistering all CEC clients
DEBUG:   [              75]     Broadcast (F): osd name set to 'Broadcast'
DEBUG:   [              75]     InitHostCEC - vchiq_initialise succeeded
DEBUG:   [              75]     InitHostCEC - vchi_initialise succeeded
DEBUG:   [              76]     InitHostCEC - vchi_connect succeeded
DEBUG:   [              77]     Open - vc_cec initialised
DEBUG:   [              77]     logical address changed to Free use (e)
NOTICE:  [              77]     connection opened
DEBUG:   [              78]     << Broadcast (F) -> TV (0): POLL
DEBUG:   [              78]     processor thread started
DEBUG:   [              78]     initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
TRAFFIC: [              78]     << e0
DEBUG:   [             109]     >> POLL sent
DEBUG:   [             109]     TV (0): device status changed into 'present'
DEBUG:   [             109]     << requesting vendor ID of 'TV' (0)
TRAFFIC: [             110]     << e0:8c
TRAFFIC: [             314]     >> 0f:87:00:00:f0
DEBUG:   [             314]     >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG:   [             315]     TV (0): vendor = Samsung (0000f0)
DEBUG:   [             315]     expected response received (87: device vendor id)
DEBUG:   [             315]     replacing the command handler for device 'TV' (0)
NOTICE:  [             315]     registering new CEC client - v2.2.0
DEBUG:   [             315]     detecting logical address for type 'recording device'
DEBUG:   [             315]     trying logical address 'Recorder 1'
DEBUG:   [             316]     << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [             316]     << 11
WARNING: [             465]     unhandled response received: opcode=87 initiator=e destination=f response=0
TRAFFIC: [             555]     << 11
DEBUG:   [             646]     >> POLL not sent
DEBUG:   [             646]     using logical address 'Recorder 1'
DEBUG:   [             646]     Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG:   [             646]     Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG:   [             646]     Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG:   [             646]     Recorder 1 (1): CEC version 1.4
DEBUG:   [             646]     AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG:   [             647]     logical address changed to Recorder 1 (1)
DEBUG:   [             648]     Recorder 1 (1): osd name set to 'CECTester'
DEBUG:   [             648]     Recorder 1 (1): menu language set to 'eng'
DEBUG:   [             648]     GetPhysicalAddress - physical address = 1000
DEBUG:   [             648]     AutodetectPhysicalAddress - autodetected physical address '1000'
DEBUG:   [             648]     Recorder 1 (1): physical address changed from ffff to 1000
DEBUG:   [             649]     << Recorder 1 (1) -> broadcast (F): physical adddress 1000
TRAFFIC: [             649]     << 1f:84:10:00:01
NOTICE:  [             799]     CEC client registered: libCEC version = 2.2.0, client version = 2.2.0, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, host: armv7l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi' 'EXYNOS', git revision: fb9cf89, compiled on: Mon Nov 30 14:53:20 UTC 2015 by stable@nightbuild-rpi on Linux 3.18.11-v7+ (armv7l)
DEBUG:   [             800]     << Recorder 1 (1) -> TV (0): OSD name 'CECTester'
TRAFFIC: [             800]     << 10:47:43:45:43:54:65:73:74:65:72
DEBUG:   [            1101]     << requesting power status of 'TV' (0)
TRAFFIC: [            1101]     << 10:8f
TRAFFIC: [            1245]     >> 01:90:00
DEBUG:   [            1245]     >> TV (0) -> Recorder 1 (1): report power status (90)
DEBUG:   [            1245]     TV (0): power status changed from 'unknown' to 'on'
DEBUG:   [            1246]     expected response received (90: report power status)

================================================================================
Available commands:

[tx] {bytes}              transfer bytes over the CEC line.
[txn] {bytes}             transfer bytes but don't wait for transmission ACK.
[on] {address}            power on the device with the given logical address.
[standby] {address}       put the device with the given address in standby mode.
[la] {logical address}    change the logical address of the CEC adapter.
[p] {device} {port}       change the HDMI port number of the CEC adapter.
[pa] {physical address}   change the physical address of the CEC adapter.
[as]                      make the CEC adapter the active source.
[is]                      mark the CEC adapter as inactive source.
[osd] {addr} {string}     set OSD message on the specified device.
[ver] {addr}              get the CEC version of the specified device.
[ven] {addr}              get the vendor ID of the specified device.
[lang] {addr}             get the menu language of the specified device.
[pow] {addr}              get the power status of the specified device.
[name] {addr}             get the OSD name of the specified device.
[poll] {addr}             poll the specified device.
[lad]                     lists active devices on the bus
[ad] {addr}               checks whether the specified device is active.
[at] {type}               checks whether the specified device type is active.
[sp] {addr}               makes the specified physical address active.
[spl] {addr}              makes the specified logical address active.
[volup]                   send a volume up command to the amp if present
[voldown]                 send a volume down command to the amp if present
[mute]                    send a mute/unmute command to the amp if present
[self]                    show the list of addresses controlled by libCEC
[scan]                    scan the CEC bus and display device info
[mon] {1|0}               enable or disable CEC bus monitoring.
[log] {1 - 31}            change the log level. see cectypes.h for values.
[ping]                    send a ping command to the CEC adapter.
[bl]                      to let the adapter enter the bootloader, to upgrade
                          the flash rom.
[r]                       reconnect to the CEC adapter.
[h] or [help]             show this help.
[q] or [quit]             to quit the CEC test client and switch off all
                          connected CEC devices.
================================================================================
DEBUG:   [            1247]     unregistering all CEC clients
NOTICE:  [            1247]     unregistering client: libCEC version = 2.2.0, client version = 2.2.0, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, host: armv7l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi' 'EXYNOS', git revision: fb9cf89, compiled on: Mon Nov 30 14:53:20 UTC 2015 by stable@nightbuild-rpi on Linux 3.18.11-v7+ (armv7l)
DEBUG:   [            1247]     Recorder 1 (1): power status changed from 'on' to 'unknown'
DEBUG:   [            1247]     Recorder 1 (1): vendor = Unknown (000000)
DEBUG:   [            1247]     Recorder 1 (1): CEC version unknown
DEBUG:   [            1247]     Recorder 1 (1): osd name set to 'Recorder 1'
DEBUG:   [            1247]     Recorder 1 (1): device status changed into 'unknown'
DEBUG:   [            1248]     unregistering all CEC clients
DEBUG:   [            2080]     UnregisterLogicalAddress - releasing previous logical address
DEBUG:   [            2080]     logical address changed to Broadcast (f)

maf

Offline joachim-h

  • Adv. Member
  • ***
  • Posts: 100
    • View Profile
Lautstärke des Fernsehers vom VDR kontrollieren
« Reply #3 on: December 17, 2017, 15:04:22 »
Hm. Ja, der cec-client sagt, dass die Kommandos nur für Verstärker gedacht seien.

Das die Verbindung unterbrochen wird, liegt wahrscheinlich an dem Flag "-s", dass steht für "Single execution" und danach beendet sich der client wieder.

Kann vielleicht das cec-remote.Plugin helfen?

[1] MLD-5.x / General / Lautstärke des Fernsehers vom VDR kontrollieren
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.