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](v2-dev) Extensible REST API, Dynamic Menus, and Socket Communications, plus other updates

    Scheduled Pinned Locked Moved Development
    76 Posts 13 Posters 59.0k Views 13 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.
    • B Offline
      bolish
      last edited by

      @Cr4z33
      Make trials with your terminal :

      • Turn screen on by pasting that in your terminal : echo on 0 | cec-client -s -d 1
      • Check the feedback status sent by the TV by putting that in terminal : echo pow 0 | cec-client -s -d 1
      • Remind the result

      Do exactly the same with turn off :

      • Turn screen on by pasting that in your terminal : echo standby 0 | cec-client -s -d 1
      • Check the feedback status sent by the TV by putting that in terminal : echo pow 0 | cec-client -s -d 1
      • Remind the result

      The 2 results you will get should be updated in node.js line 610 / 620.

      Cr4z33C 1 Reply Last reply Reply Quote 0
      • Cr4z33C Offline
        Cr4z33 @bolish
        last edited by

        @bolish as I wrote before that’s EXACTLY what I already did. ;)

        Terminal commands work straight away while the same commands in MMM-Remote-Control have no effect when used by tapping the buttons in the menu.

        1 Reply Last reply Reply Quote 0
        • B Offline
          bolish
          last edited by

          @Cr4z33
          So, the ouput you got in the terminal by sending the “pow 0” command is in line with what is written into node helper.js line 610 / 620?

          Cr4z33C 1 Reply Last reply Reply Quote 0
          • Cr4z33C Offline
            Cr4z33 @bolish
            last edited by

            @bolish yep 100% that’s why I tried reporting that to @shbatm , but he didn’t reply about that yet. :grimacing_face:

            1 Reply Last reply Reply Quote 0
            • B Offline
              bolish
              last edited by

              @Cr4z33
              Strange, it worked for me… FMI, what output do you get in the terminal with “echo pow 0 | cec-client -s -d 1”.
              When the screen is ON? When the screen is “OFF”?

              Cr4z33C 1 Reply Last reply Reply Quote 0
              • Cr4z33C Offline
                Cr4z33 @bolish
                last edited by

                @bolish depending wheter the TV is on or off it says power status: on or power status: standby.

                1 Reply Last reply Reply Quote 0
                • B Offline
                  bolish
                  last edited by

                  @Cr4z33 same as me…let’s try to cross check our node helper .js to see if they are written the same on line 610 and 620.

                  Cr4z33C 1 Reply Last reply Reply Quote 0
                  • Cr4z33C Offline
                    Cr4z33 @bolish
                    last edited by

                    @bolish wait cannot remember if I am using perhaps the developer version, but line numbers are different.

                    Mine are 601 (on), 604 (off) and 607 (status).

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      bolish
                      last edited by bolish

                      This is what I did on my side :

                                  if (["MONITORTOGGLE", "MONITORSTATUS", "MONITORON"].indexOf(action) !== -1) {
                                      screenStatus = exec(monitorStatusCommand, opts, (error, stdout, stderr) => {
                                          if (stdout.indexOf("TV is off") !== -1 || stdout.indexOf("false") !== -1) { // REPLACE "TV is off" or "false" by "power status: standby"
                                              // Screen is OFF, turn it ON
                                              status = "off";
                                              if (action === "MONITORTOGGLE" || action === "MONITORON") {
                                                  exec(monitorOnCommand, opts, (error, stdout, stderr) => {
                                                      this.checkForExecError(error, stdout, stderr, res, { monitor: "on" });
                                                  });
                                                  this.sendSocketNotification("USER_PRESENCE", true);
                                                  return;
                                              }
                                          } else if (stdout.indexOf("HDMI") !== -1 || stdout.indexOf("true") !== -1) { // REPLACE "HDMI" OR "true" by "power status: on"
                                              // Screen is ON, turn it OFF
                                              status = "on";
                                              if (action === "MONITORTOGGLE") {
                                                  this.monitorControl("MONITOROFF", opts, res);
                                                  return;
                      

                      At least this is what worked for me.

                      Cr4z33C 1 Reply Last reply Reply Quote 0
                      • Cr4z33C Offline
                        Cr4z33 @bolish
                        last edited by

                        @bolish what about the previous lines?

                        I thought that was the part to edit by replacing monitor commands with HDMI CEC ones like mines?

                                monitorControl: function(action, opts, res) {
                                    let status = "unknown";
                                    let monitorOnCommand = (this.initialized && "monitorOnCommand" in this.thisConfig.customCommand) ?
                                        this.thisConfig.customCommand.monitorOnCommand :
                                        "echo on 0 | cec-client -s -d 1";
                                    let monitorOffCommand = (this.initialized && "monitorOffCommand" in this.thisConfig.customCommand) ?
                                        this.thisConfig.customCommand.monitorOffCommand :
                                        "echo standby 0 | cec-client -s -d 1";
                                    let monitorStatusCommand = (this.initialized && "monitorStatusCommand" in this.thisConfig.customCommand) ?
                                        this.thisConfig.customCommand.monitorStatusCommand :
                                        "echo pow 0 | cec-client -s -d 1";
                        
                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 7
                        • 8
                        • 5 / 8
                        • 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