• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

Create another PM2 Script?

Scheduled Pinned Locked Moved Troubleshooting
7 Posts 2 Posters 3.0k Views 1 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.
  • D Offline
    Damian
    last edited by Apr 15, 2018, 3:21 PM

    Hello, can someone please help me figuire out where to place a PM2 Script please?

    I am following the guide to put on MMM-Sonos, and cannot fathom out the directions to create another PM2 Script, can someone tell me what the instructions mean? Is this a command line? as I cannot find a directory named sonos.sh file contents

    create another pm2 script named sonos.sh in ~ directory
    cd ~
    sonos.sh file contents:
    cd ~/node-sonos-http-api
    DISPLAY=:0 npm start
    
    pm2 start sonos.sh
    pm2 start mm
    pm2 save
    
    

    the first part I have done, and see the web browser with sonos related text, so indeed, that hard bit has been done… just lost in the wording above as to what I should do, and where to do it?

    pi@magicpi:~ $ git clone https://github.com/jishi/node-sonos-http-api.git
    
    cd node-sonos-http-api
    npm install --production
    npm start
    
    verify, open a browser, point to your MM’s IP like so:
    http://192.168.0.207:5005/zones
    you should see a page full of sonos related text, if so the hard part is done…
    

    Thank you

    D 1 Reply Last reply Apr 16, 2018, 11:46 AM Reply Quote 0
    • D Offline
      Damian @Damian
      last edited by Apr 16, 2018, 11:46 AM

      Okay, so I opened up my directory… created a new file in /home/pi and named it sonos.sh… going by the jumbled up way things have been written in the example above, I have tried every combination to try and make sense of what it is saying to type into terminal

      cd ~ sonos.sh file contents
      sonos.sh

      I will no doubt be going around in circles here trying to decypher the instructions, so can I ask anyone to please decypher this for me and tell me what and where to enter these? do I manually input them into the sonos.sh file? do I get terminal to enter them?
      I a
      l already set up PM2 over a year ago to autostart MM, and sure it was never as hard as this?

      this is what I get when trying

      pi@raspi:~ $ cd ~sonos.sh
      bash: cd: ~sonos.sh: No such file or directory
      pi@raspi:~ $ sonos.sh
      bash: sonos.sh: command not found
      pi@raspi:~ $ sonos.sh file contents:
      bash: sonos.sh: command not found
      pi@raspi:~ $ cd ~/node-sonos-http-api
      pi@raspi:~/node-sonos-http-api $ DISPLAY=:0 npm start
      
      > sonos-http-api@1.6.0 start /home/pi/node-sonos-http-api
      > node server.js
      
      2018-04-16T11:21:47.702Z INFO Could not find file /home/pi/node-sonos-http-api/settings.json
      2018-04-16T11:21:48.670Z INFO Presets loaded: { example: 
         { players: 
            [ { roomName: 'Bathroom', volume: 10 },
              { roomName: 'Kitchen', volume: 10 },
              { roomName: 'Office', volume: 10 },
              { roomName: 'Bedroom', volume: 10 },
              { roomName: 'TV Room', volume: 15 } ],
           playMode: { shuffle: true, repeat: 'all', crossfade: false },
           pauseOthers: false } }
      2018-04-16T11:21:54.317Z ERROR Port 5005 seems to be in use already. Make sure the sonos-http-api isn't 
          already running, or that no other server uses that port. You can specify an alternative http port 
          with property "port" in settings.json
      
      npm ERR! Linux 4.9.35-v7+
      npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
      npm ERR! node v6.14.1
      npm ERR! npm  v3.10.10
      npm ERR! code ELIFECYCLE
      npm ERR! sonos-http-api@1.6.0 start: `node server.js`
      npm ERR! Exit status 1
      npm ERR! 
      npm ERR! Failed at the sonos-http-api@1.6.0 start script 'node server.js'.
      npm ERR! Make sure you have the latest version of node.js and npm installed.
      npm ERR! If you do, this is most likely a problem with the sonos-http-api package,
      npm ERR! not with npm itself.
      npm ERR! Tell the author that this fails on your system:
      npm ERR!     node server.js
      npm ERR! You can get information on how to open an issue for this project with:
      npm ERR!     npm bugs sonos-http-api
      npm ERR! Or if that isn't available, you can get their info via:
      npm ERR!     npm owner ls sonos-http-api
      npm ERR! There is likely additional logging output above.
      npm ERR! Please include the following file with any support request:
      npm ERR!     /home/pi/node-sonos-http-api/npm-debug.log
      pi@papaspi:~/node-sonos-http-api $ pm2 start sonos.sh
      [PM2][ERROR] script not found : /home/pi/node-sonos-http-api/sonos.sh
      script not found : /home/pi/node-sonos-http-api/sonos.sh
      ┌──────┬──────┬────────┬───┬─────┬────────┐
      │ Name │ mode │ status │ ↺ │ cpu │ memory │
      ├──────┼──────┼────────┼───┼─────┼────────┤
      │ mm   │ fork │ online │ 0 │ 0%  │ 0 B    │
      └──────┴──────┴────────┴───┴─────┴────────┘
       Use `pm2 show ` to get more details about an app
      pi@raspi:~/node-sonos-http-api $
      D 1 Reply Last reply Apr 16, 2018, 12:08 PM Reply Quote 0
      • D Offline
        Damian @Damian
        last edited by Apr 16, 2018, 12:08 PM

        @Mods

        Appreciate I have posted this twice in 2 seperate posts - but other one is FAO the Developer in his original post of 1 year ago, and to the poster who replied with his fix.

        This post goes to anyone here who can help me with making and executing a script, going by the example given for this module.

        1 Reply Last reply Reply Quote 1
        • B Offline
          bhepler Module Developer
          last edited by bhepler Apr 16, 2018, 5:07 PM Apr 16, 2018, 5:05 PM

          Okay, a couple things. sono.sh is your script that starts your process. ~ is the shortcut to the pi user’s home directory, also known as /home/pi. In order to run scripts from the command line, you have to precede the script name with ./

          So let’s take a moment to verify the state of your pi. Change to the home directory and pull up the file list with a couple switches to see if sonos.sh exits:

          pi@raspi:~ $ cd ~
          pi@raspi:~ $ ls -lh sonos.sh
          -rwxr-xr-x 1 pi pi 26 April 15 11:50 sonos.sh
          

          There will be some variation in your results. If you see the phrase “No such file or directory”, then the file does not exist at that location. Also, you may not have any “x” entries when you do see the file listed. If so, the file is not marked executable, so it won’t run. You can fix this by typing chmod +x sonos.sh

          I’m a little unclear as to what commands exactly are in your sonos.sh file. Could you please enter cat sonos.sh and reply with the results?

          Adding the script to pm2 is done by typing pm2 start sonos.sh. You can then verify that pm2 has picked it up by typing pm2 status all. That will give you a list of the processes that pm2 is controlling. You should see both your mm.sh process and your sonos.sh process.

          Give that a go and report back to us.

          D 1 Reply Last reply Apr 16, 2018, 7:49 PM Reply Quote 1
          • D Offline
            Damian @bhepler
            last edited by Damian Apr 16, 2018, 10:52 PM Apr 16, 2018, 7:49 PM

            @bhepler

            Thanks so much for your help on this as it was doing my head in…

            Ok… I entered everything exactly as you stated above… and found everything you stated… and then it worked - Thank you so much for that, I sincerely appreciate your help on this.

            Can I ask you one more favour please?

            Going by the instructions I followed above, which made no sence to me in the format it was written… can I ask you what your simple instructions would be to complete that part? In a more understandable format than what is written above, and how it is written.

            This would help others understanding how to make that PM2 Script, and not confuse them, and would also educate me on how I should have done it.

            Thanks again.

            create another pm2 script named sonos.sh in ~ directory
            cd ~
            sonos.sh file contents:
            cd ~/node-sonos-http-api
            DISPLAY=:0 npm start
            
            pm2 start sonos.sh
            pm2 start mm
            pm2 save
            
            
            bheplerB 1 Reply Last reply Apr 19, 2018, 3:15 PM Reply Quote 0
            • bheplerB Offline
              bhepler Module Developer @Damian
              last edited by bhepler Apr 19, 2018, 3:15 PM Apr 19, 2018, 3:15 PM

              @Damian Sure, I can do that. Let me re-write this a bit.

              Step 1 - Create a script called sonos.sh in the home directory (~).

              cd ~
              nano sonos.sh
              

              Enter the following in the nano editor for the contents of your sonos.sh script:

              cd ~/node-sonos-http-api
              DISPLAY=:0 npm start
              

              Save the file and exit the nano editor.

              Step 2 - Make your script executable by entering chmod +x sonos.sh

              Step 3 - Tell pm2 to manage your sonos script so that it is always running in the background:

              pm2 start sonos.sh
              pm2 save
              

              Verify that pm2 is managing both your sonos.sh script and the mm.sh script by typing pm2 status all. You should see two lines, one for each script.

              Step 4 - Clear the logs and bounce your mirror and verify that everything works as planned.

              pm2 flush
              pm2 restart all
              
              D 1 Reply Last reply Apr 19, 2018, 4:43 PM Reply Quote 3
              • D Offline
                Damian @bhepler
                last edited by Apr 19, 2018, 4:43 PM

                @bhepler

                Thanks very much for that, appreciated.

                Inclusion of nano will help as that was not mentioned.

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                1 / 1
                • First post
                  1/7
                  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