Upgrade to Volumio 3 - GPOI plugin missing

How does the Volumio Team know what gets installed?
Unless it is authored and put in the plugin store you will not get support for it.

@ashthespy Agree with the OTA issue, did not realise that.

This should be more streamlined

sudo apt-get update
sudo apt-get -y install build-essential
cd ~
wget http://plugins.volumio.org/plugins/volumio/armhf/system_controller/gpio-buttons/gpio-buttons.zip
mkdir ./gpio-buttons
miniunzip gpio-buttons.zip -d ./gpio-buttons
cd gpio-buttons
npm install --save onoff@6.0.0
volumio plugin install

PS: please be aware that the current plugin ecosytem is under heavy churn. There are some plugins (mainly audio playback) that will be broken on Volumio 3. There are some like this that just need modules rebuilt.

So as usual - be aware that you might break your system when not using the officially tested plugins that are in the store.

2 Likes

This plugin is one of the most important one because it is used on on streamer built.

1 Like

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

1 Like

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,
Rainer

2 Likes

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:

#!/usr/bin/python3

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"])
        print("\n")
    if ButtonPlay.is_pressed:
        if Debug == 1:
            print("ButtonPlay is pressed")
        subprocess.call(["volumio", "toggle"])
        print("\n")
    if ButtonNext.is_pressed:
        if Debug == 1:
            print("ButtonNext is pressed")
        subprocess.call(["volumio", "next"])
        print("\n")
    sleep(0.5)

image

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.

Error
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

Source:

2 Likes

Thanks. I resolved my issue. Appreciate it.