Read the statement by Michael Teeuw here.
MMM-Remote-Control can not turn ON monitor
-
@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
-
@anaghd mine too!
-
@sdetweil See if this gives you any ideas. I couldn’t figure it out.
https://githubmemory.com/repo/Jopyth/MMM-Remote-Control/issues/178?page=1 -
@anaghd vcgencmd turns off the hdmi port… not the monitor… and then I get an ugly no input message
-
@sdetweil I was wondering if we can do something similar to what they have done but modify it for cec utilities, especially in regards to the status command.
-
@anaghd sorry don’t understand
if we could do something??
-
@sdetweil can we modify this to include cec-utility commands instead of the vcgencmd?
monitorStatusCommand: ‘if vcgencmd display power | grep 1 >/dev/null 2>&1; then echo true; else echo false; fi’
-
@anaghd oh… I don’t know the module internals or config at all…
-
@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.