MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord

    SOLVED MMM-Remote-Control can not turn ON monitor

    Troubleshooting
    3
    23
    675
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      anaghd last edited by anaghd

      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.

      S 1 Reply Last reply Reply Quote 0
      • A
        anaghd @sdetweil last edited by

        @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.

        S S 2 Replies Last reply Reply Quote 0
        • S
          sdetweil @anaghd last edited by

          @anaghd take off the ’ -d 1’ on the commands and see if that works

          Sam

          Create a working config
          How to add modules

          A 1 Reply Last reply Reply Quote 0
          • A
            anaghd @sdetweil last edited by

            @sdetweil Tried doing that, but that did not change anything. I could turn the monitor off, but not back ON.

            S 1 Reply Last reply Reply Quote 0
            • S
              sdetweil @anaghd last edited by

              @anaghd i have the reverse problem… I can turn it on, but not off…

              Walmart Spectre 55in tv.

              Sam

              Create a working config
              How to add modules

              A 1 Reply Last reply Reply Quote 0
              • A
                anaghd @sdetweil last edited by

                @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?

                S 1 Reply Last reply Reply Quote 0
                • S
                  sdetweil @anaghd last edited by

                  @anaghd it does not turn off

                  Sam

                  Create a working config
                  How to add modules

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    anaghd @sdetweil last edited by

                    @sdetweil I almost know our problem has something to with the monitorStatusCommand. Both the monitorONCommand and the monitorOffCommand first get the status from the status command and then decide whether to run or not. But I don’t know how to fix this.
                    Maybe @ezeholz can help here?

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sdetweil @anaghd last edited by

                      @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.

                      Sam

                      Create a working config
                      How to add modules

                      A 2 Replies Last reply Reply Quote 0
                      • A
                        anaghd @sdetweil last edited by

                        @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: RPI

                        opening 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)

                        1 Reply Last reply Reply Quote 0
                        • A
                          anaghd @sdetweil last edited by

                          @sdetweil sorry, this is way beyond my pay grade

                          S 1 Reply Last reply Reply Quote 0
                          • 1
                          • 2
                          • 3
                          • 1 / 3
                          • First post
                            Last post
                          Enjoying MagicMirror? Please consider a donation!
                          MagicMirror created by Michael Teeuw.
                          Forum managed by Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                          This forum is using NodeBB as its core | Contributors
                          Contact | Privacy Policy