Read the statement by Michael Teeuw here.
Create another PM2 Script?
-
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
-
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.shI 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 $
-
@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.
-
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 entercat 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 typingpm2 status all
. That will give you a list of the processes that pm2 is controlling. You should see both yourmm.sh
process and yoursonos.sh
process.Give that a go and report back to us.
-
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
-
@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 themm.sh
script by typingpm2 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
-
Thanks very much for that, appreciated.
Inclusion of nano will help as that was not mentioned.