Read the statement by Michael Teeuw here.
MMM-Remote-Control can not turn ON monitor
-
Hello,
I have very little coding knowledge. So please bear with me.
I have been trying to get MMM-Remote-Control to turn the monitor ON and Off. When I do not use customCommand, my monitor shows “No source” when turned off through the module menu. So I have to use customCommand and the cec utilities. With that, I can get the monitor to switch off, but can not get it to switch on. This is what my customCommand looks like:
customCommand: {
monitorONCommand: “sudo echo ‘on 0’ | cec-client -s -d 1”,
monitorOffCommand: “sudo echo ‘standby 0’ | cec-client -s -d 1”,
monitorStatusCommand: “sudo echo ‘pow 0’ | cec-client -s -d 1”,
},
If I send the command “sudo echo ‘on 0’ | cec-client -s -d 1” in the terminal, I can get the monitor to turn on, but can’t get it work through the remote-control. I have tried using vcgencmd but these commands don’t turn off the monitor in my case (the monitor just shows “No source”).
Any help with this will be great. Thanks!
Edit: I have tried to find solutions on the forum with no luck. -
@sdetweil I finally have a solution that worked for me.
In the node_helper.js file, there is a function with the name “monitorControl”. In there, I used 2 things as shown below. Essentially, we want it to execute both, vcgen and cec, when we turn the monitor on and off. So I added the cec command to the already existing vcgencmd command. Now it looks like this.
this.thisConfig.customCommand.monitorOnCommand:
“vcgencmd display_power 1 && sudo echo 'on 0 | cec-client -s -d 1”;this.thisConfig.customCommand.monitorOffCommand:
“vcgencmd display_power 0 && sudo echo 'standby 0 | cec-client -s -d 1”;I did not change anything in the statusCommand part.
After that, I removed the customCommands from my config so that the module uses the default commands above for turning monitor ON and Off. That worked for me. See if it works for you.
-
@anaghd take off the ’ -d 1’ on the commands and see if that works
-
@sdetweil Tried doing that, but that did not change anything. I could turn the monitor off, but not back ON.
-
@anaghd i have the reverse problem… I can turn it on, but not off…
Walmart Spectre 55in tv.
-
@sdetweil That is weird. Can you send the "sudo echo ‘standby 0’ | cec-client -s -d 1” command in terminal and turn the monitor off?
-
@anaghd it does not turn off
-
-
@anaghd I see this
sudo cec-client -r using settings from EEPROM No device type given. Using 'recording device' CEC Parser created - libCEC version 6.0.2 no serial port given. trying autodetect: path: Raspberry Pi com port: RPI opening a connection to the CEC adapter... DEBUG: [ 567] Broadcast (F): osd name set to 'Broadcast' DEBUG: [ 568] Open - vc_cec initialised DEBUG: [ 568] logical address changed to Free use (e) NOTICE: [ 568] connection opened DEBUG: [ 568] << Broadcast (F) -> TV (0): POLL DEBUG: [ 568] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead TRAFFIC: [ 568] << e0 DEBUG: [ 568] processor thread started DEBUG: [ 569] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead TRAFFIC: [ 569] << e0 DEBUG: [ 569] >> POLL not sent DEBUG: [ 569] TV (0): device status changed into 'not present' DEBUG: [ 569] registering new CEC client - v6.0.2 DEBUG: [ 569] SetClientVersion - using client version '6.0.2' NOTICE: [ 569] setting HDMI port to 1 on device TV (0) DEBUG: [ 569] << Broadcast (F) -> TV (0): POLL DEBUG: [ 569] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead TRAFFIC: [ 569] << e0 DEBUG: [ 569] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead TRAFFIC: [ 569] << e0 DEBUG: [ 570] >> POLL not sent DEBUG: [ 570] SetConfiguration: double tap timeout = 200ms, repeat rate = 0ms, release delay = 500ms DEBUG: [ 570] detecting logical address for type 'recording device' DEBUG: [ 570] trying logical address 'Recorder 1' DEBUG: [ 570] << Recorder 1 (1) -> Recorder 1 (1): POLL TRAFFIC: [ 570] << 11 TRAFFIC: [ 570] << 11 DEBUG: [ 570] >> POLL not sent DEBUG: [ 570] using logical address 'Recorder 1' DEBUG: [ 570] Recorder 1 (1): device status changed into 'handled by libCEC' DEBUG: [ 570] Recorder 1 (1): power status changed from 'unknown' to 'on' DEBUG: [ 570] Recorder 1 (1): vendor = Pulse Eight (001582) DEBUG: [ 570] Recorder 1 (1): CEC version 1.4 DEBUG: [ 570] AllocateLogicalAddresses - device '0', type 'recording device', LA '1' DEBUG: [ 571] logical address changed to Recorder 1 (1) DEBUG: [ 571] Recorder 1 (1): osd name set to '' DEBUG: [ 571] Recorder 1 (1): menu language set to 'eng' DEBUG: [ 571] GetPhysicalAddress - physical address = 1000 DEBUG: [ 571] using auto-detected physical address 1000 DEBUG: [ 571] Recorder 1 (1): physical address changed from ffff to 1000 DEBUG: [ 571] << Recorder 1 (1) -> broadcast (F): physical address 1000 TRAFFIC: [ 571] << 1f:84:10:00:01 TRAFFIC: [ 571] << 1f:84:10:00:01 NOTICE: [ 571] CEC client registered: libCEC version = 6.0.2, client version = 6.0.2, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on Linux-4.15.0-128-generic ... , features: P8_USB, DRM, P8_detect, randr, RPi, Exynos, AOCEC DEBUG: [ 571] << Recorder 1 (1) -> TV (0): OSD name '' DEBUG: [ 571] << Recorder 1 (1) -> TV (0): POLL TRAFFIC: [ 571] << 10 TRAFFIC: [ 571] << 10 DEBUG: [ 571] >> POLL not sent DEBUG: [ 571] not sending command 'set osd name': destination device 'TV' marked as not present waiting for input DEBUG: [ 571] << requesting power status of 'TV' (0) DEBUG: [ 571] << Recorder 1 (1) -> TV (0): POLL TRAFFIC: [ 571] << 10 TRAFFIC: [ 571] << 10 DEBUG: [ 571] >> POLL not sent DEBUG: [ 571] not sending command 'give device power status': destination device 'TV' marked as not present
the tv sees the pi connection but it is not connectable (from the TV side)
note this is Ubuntu 21.04 on pi.
-
@sdetweil said in MMM-Remote-Control can not turn ON monitor:
sudo cec-client -r
using settings from EEPROM
No device type given. Using ‘recording device’
CEC Parser created - libCEC version 4.0.7
no serial port given. trying autodetect:
path: Raspberry Pi
com port: RPIopening a connection to the CEC adapter…
DEBUG: [ 64] Broadcast (F): osd name set to ‘Broadcast’
DEBUG: [ 64] Open - vc_cec initialised
DEBUG: [ 64] logical address changed to Free use (e)
NOTICE: [ 64] connection opened
DEBUG: [ 65] processor thread started
DEBUG: [ 65] << Broadcast (F) -> TV (0): POLL
DEBUG: [ 65] initiator ‘Broadcast’ is not supported by the CEC adapter. using ‘Free use’ instead
TRAFFIC: [ 65] << e0
DEBUG: [ 125] >> POLL sent
DEBUG: [ 125] TV (0): device status changed into ‘present’
DEBUG: [ 125] << requesting vendor ID of ‘TV’ (0)
TRAFFIC: [ 125] << e0:8c
TRAFFIC: [ 497] >> 0e:00:8c:04
DEBUG: [ 497] marking opcode ‘give device vendor id’ as unsupported feature for device ‘TV’
DEBUG: [ 497] expected response received (87: device vendor id)
DEBUG: [ 497] registering new CEC client - v4.0.7
DEBUG: [ 497] SetClientVersion - using client version ‘4.0.7’
NOTICE: [ 498] setting HDMI port to 1 on device TV (0)
DEBUG: [ 498] SetConfiguration: double tap timeout = 200ms, repeat rate = 0ms, release delay = 500ms
DEBUG: [ 498] detecting logical address for type ‘recording device’
DEBUG: [ 498] trying logical address ‘Recorder 1’
DEBUG: [ 498] << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [ 498] << 11
TRAFFIC: [ 768] << 11
DEBUG: [ 1039] >> POLL not sent
DEBUG: [ 1039] using logical address ‘Recorder 1’
DEBUG: [ 1039] Recorder 1 (1): device status changed into ‘handled by libCEC’
DEBUG: [ 1039] Recorder 1 (1): power status changed from ‘unknown’ to ‘on’
DEBUG: [ 1039] Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG: [ 1039] Recorder 1 (1): CEC version 1.4
DEBUG: [ 1039] AllocateLogicalAddresses - device ‘0’, type ‘recording device’, LA ‘1’
DEBUG: [ 1039] Recorder 1 (1): osd name set to ‘’
DEBUG: [ 1039] Recorder 1 (1): menu language set to ‘eng’
DEBUG: [ 1039] logical address changed to Recorder 1 (1)
DEBUG: [ 1039] GetPhysicalAddress - physical address = 2000
DEBUG: [ 1039] using auto-detected physical address 2000
DEBUG: [ 1039] Recorder 1 (1): physical address changed from ffff to 2000
DEBUG: [ 1039] << Recorder 1 (1) -> broadcast (F): physical address 2000
TRAFFIC: [ 1040] << 1f:84:20:00:01
NOTICE: [ 1190] CEC client registered: libCEC version = 4.0.7, client version = 4.0.7, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 2.0.0.0, compiled on Linux-5.10.17-v8+ … , features: P8_USB, DRM, P8_detect, randr, RPi, Exynos, Linux, AOCEC
DEBUG: [ 1190] << Recorder 1 (1) -> TV (0): OSD name ‘’
TRAFFIC: [ 1190] << 10:47
DEBUG: [ 1251] << requesting power status of ‘TV’ (0)
TRAFFIC: [ 1251] << 10:8f
TRAFFIC: [ 1478] >> 01:46
DEBUG: [ 1478] << Recorder 1 (1) -> TV (0): OSD name ‘’
TRAFFIC: [ 1478] << 10:47
DEBUG: [ 1479] >> TV (0) -> Recorder 1 (1): give osd name (46)
TRAFFIC: [ 1797] >> 01:90:00
waiting for input
DEBUG: [ 1797] TV (0): power status changed from ‘unknown’ to ‘on’
DEBUG: [ 1797] expected response received (90: report power status)
DEBUG: [ 1797] >> TV (0) -> Recorder 1 (1): report power status (90)
TRAFFIC: [ 3104] >> 01:46
DEBUG: [ 3104] << Recorder 1 (1) -> TV (0): OSD name ‘’
TRAFFIC: [ 3104] << 10:47
DEBUG: [ 3104] >> TV (0) -> Recorder 1 (1): give osd name (46) -
@sdetweil sorry, this is way beyond my pay grade