Shutdown scripts for Volumio
For Volumio you have two options, you can either install the Volumio plugin for the RemotePi Board (this is the preferred method) or use our script based solution.
The Volumio RemotePi Board plugin
To install the RemotePi Board plugin, go to Settings, Plugins, then in the Search Plugins. You may have to wait a minute until the plugin list is populated, then click on Miscellanea, look for the RemotePi Plugin in the list and click on the install button.
After the installation is completed, click on the Installed Plugins tab and activate the RemotePi plugin, if it not already active.
One reboot from the Volumio menu is required to use the RemotePi Board.
The RemotePi plugin for Volumio is provided by a 3rd party, thanks to plugin developer Gvolt for his contribution : Volumio Forum
Script Based Solution
Instead of the above plugin, you can also use our script based solution below :
The default SSH user name is volumio, password volumio
-
Key in :
cd /etc
sudo nano rc.local -
Copy and paste (use shift+ins to paste in nano) the following into the nano editor window, just above the last line (before the line exit 0)
(/etc/irswitch.sh)& - Press ctrl+x to exit the editor, y to confirm, enter to save the file
-
Key in
sudo nano irswitch.sh -
Copy and paste the following text into the editor window
#!/bin/bash
# this is the GPIO pin receiving the shut-down signal
GPIOpin1=14
echo "$GPIOpin1" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
while true; do
sleep 1
power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
if [ $power != 0 ]; then
mpc stop
echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
sleep 3
sudo shutdown -h now
fi
done - Press ctrl+x to exit, y to confirm, enter to save the file
-
Key in
sudo chmod +x irswitch.sh
The following additional script enables the RemotePi Board to cut off the power, after Volumio has been shut down from the on-screen menu.
- Key in
- sudo nano /etc/shutdown.sh
- Copy and paste the following contents
- #!/bin/bash
REBOOT_GREP=$(systemctl list-units --type=target | grep reboot)
SHUTDOWN_GREP=$(systemctl list-units --type=target | grep shutdown)
if [ "$SHUTDOWN_GREP" ] && [ ! "$REBOOT_GREP" ]; then
# the condition above makes sure, that the shutdown sequence is not run on reboot
GPIOpin=15
GPIOpin1=14
echo "$GPIOpin" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
echo "1" > /sys/class/gpio/gpio$GPIOpin/value
sleep 0.125
echo "0" > /sys/class/gpio/gpio$GPIOpin/value
sleep 0.2
echo "1" > /sys/class/gpio/gpio$GPIOpin/value
sleep 0.4
echo "0" > /sys/class/gpio/gpio$GPIOpin/value
echo "$GPIOpin1" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
sleep 4
fi - Press ctrl+x to exit, y to confirm, enter to save the file
-
After saving the file, mark it as executable with
sudo chmod +x /etc/shutdown.sh - Key in
- sudo nano /etc/systemd/system/irswitch2.service
- Copy and paste the following text into the editor window
[Unit]
Description=RemotePi Board Shutdown Service
Before=multi-user.target
Conflicts=shutdown.target
[Service]
ExecStart=/bin/true
ExecStop=/etc/shutdown.sh
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target - Press ctrl+x to exit, y to confirm, enter to save the file
- Key in
sudo systemctl enable irswitch2.service - Reboot one time
- After reboot you can use the RemotePi Board to power cycle Volumio
The above scripts have been tested and are confirmed to work in Volumio 2 to 2.873 . Although not yet tested, they most probably will work with newer versions as well.
This page was last updated 18-Mar-2021