MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Remote-Control can not turn ON monitor

    Scheduled Pinned Locked Moved Solved Troubleshooting
    23 Posts 3 Posters 4.2k Views 3 Watching
    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 Offline
      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 Offline
        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 Offline
          sdetweil @anaghd
          last edited by

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

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          A 1 Reply Last reply Reply Quote 0
          • A Offline
            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 Offline
              sdetweil @anaghd
              last edited by

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

              Walmart Spectre 55in tv.

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              A 1 Reply Last reply Reply Quote 0
              • A Offline
                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 Offline
                  sdetweil @anaghd
                  last edited by

                  @anaghd it does not turn off

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  A 1 Reply Last reply Reply Quote 0
                  • A Offline
                    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 Offline
                      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

                      How to add modules

                      learning how to use browser developers window for css changes

                      A 2 Replies Last reply Reply Quote 0
                      • A Offline
                        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 Offline
                          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 Sam, technical setup by Karsten.
                          This forum is using NodeBB as its core | Contributors
                          Contact | Privacy Policy