Upgrade to Volumio 3 - GPOI plugin missing

Did you contact the author?

1 Like

If its OK to do it this way around. ie not installing it first.
Why cant it be done, re zipped and put into the plugin store for everyone to use.
Obviously more to it than that, or it would already have been done I suppose

Well that is the point - each plugin’s author needs to put in the work, and then upload it to the new plugin store.

However, there is a new testing and approval process – see Volumio3 Plugins store issues and discussion for the details.

The authors (tomatpasser) GitHub page says “This repository is not up to date, development has moved” and points to the Volumio GitHub Page
So was assuming it was now managed by Volumio team

Good point – up for adoption I guess? ¯\(ツ)

If the developer does not want to spend time on porting the plugin, but the plugin works fine anyhow (with some additional steps, as rebuilding the node modules), better to take care of the porting and to publish it on the plugin store, to avoid people messing around with ssh.

GPIO plugins are the perfect example for what I mean

I installed the GPIO plugin according to your post. It worked! Thanks a lot,


Thanks @ashthespy, your streamlined installation instructions worked for me too.

Yep the installation went smooth, however only the shutdown seems to be working. >, |< and >| fail.

Anyone with V3.175 and GPIO Buttons and have the >, |< and >| working?

If I look in the log:

info: Enabling plugin gpio-buttons
info: Loading plugin "gpio-buttons"...
info: GPIO-Buttons initialized
info: PLUGIN START: gpio-buttons
info: GPIO-Buttons: Reading config and creating triggers...
info: GPIO-Buttons: playPause on pin 23
info: GPIO-Buttons: previous on pin 25
info: GPIO-Buttons: next on pin 24
info: GPIO-Buttons started
info: Done.

It shows the GPIO from the non working ones, the one that is workinig (Shutdown) is missing.

As simple script to test that the buttons are correct wired:


from gpiozero import Button
from time import sleep
import subprocess

ButtonPlay = Button(23)
ButtonNext = Button(24)
ButtonPrev = Button(25)
Debug = 1

while True:
    if ButtonPrev.is_pressed:
        if Debug == 1:
            print("ButtonPrev is pressed")
        subprocess.call(["volumio", "previous"])
    if ButtonPlay.is_pressed:
        if Debug == 1:
            print("ButtonPlay is pressed")
        subprocess.call(["volumio", "toggle"])
    if ButtonNext.is_pressed:
        if Debug == 1:
            print("ButtonNext is pressed")
        subprocess.call(["volumio", "next"])


1 Like

Hello, in my case, the installation is ok but the plugin won’t start, do you have any idea why?
Thank you and happy new year!

Are you trying this with just the GPIO Buttons plugin, as this method does not work with all plugins.

but for me the only time the plugin failed to activate was before I rebuilt the node modules, either by me forgetting to do the last section, or it not completing.

Thanks! Can you explain how to “rebuild the node modules”

I think that’s why my playback stopped after I installed this plugin with the instructions above.

Failed to open “alsa” (alsa); Error opening ALSA device “volumio”; snd_pcm_hw_params() failed: Input/output error

first of all, you have to install build-essentials

sudo apt update
sudo apt -y install build-essential

for GPIO_Control

cd /data/plugins/system_controller/gpio_control/
npm install --save onoff@6.0.0
npm install --save sleep@6.2.0

for GPIO_Buttons

cd /data/plugins/system_controller/gpio-buttons/
npm install --save onoff@6.0.0

I don’t think the issue is related, those plugins should not affect the playback. What instructions did you use?

I followed ashthespy instructions in post 7. I didnt know those instructions included the rebuild. Thanks!

However, I am still getting the error above with my HiFiBerry DAC2 HD.

I was playing music, while installing the plugin. Enabled the plugin. I touched what I thought are the two pins I need to touch to get play/pause to work but I get this "Failed to open alsa” error and my music stops and will not play again. I will now rebuild the SD card from the image I saved.

You not using pins that are used by the DAC?

HiFiBerry DAC2 HD

GPIO2-3 (pins 3 and 5) are used by our products for configuration of the DAC and the clock circuit. GPIOs 18-21 (pins 12, 35, 38 and 40) are used for the sound interface. GPIO16 is used internally to reset the DA



Thanks. I resolved my issue. Appreciate it.

Thanks for the feedback!

@ ashthespy

your streamlined instruction worked fine for me Volumio 3.179

Many Thanks!

I have tried Volumio 3 with Audiophonics DAC I-Sabre ES9038Q2M with RPI 4 and encountered an issue with GPIO plugin - once I install it and activate it, the volume control stops working. It still plays music but at a constant volume level. Do you have any idea how to fix this?