Hi!
I am one of the few(?) that still uses Squeezebox at home.
Squeezebox is still in active development because of open source and I love the concept and hardware for it. Now it is time to give something back
My HA installation is running on a Intel NUC and has plenty power for other activities such as audio playback.
I have never created an plugin for HA so this is my first. I took the great Spotify connect addon and created the Squeezelite standalone addon. Note: The plugin does not install Squeezebox server you have to run that somewhere else. Squeezebox server usually runs on a machine that contains all your music, usually that is not your HA-hardware
Install
Add this url to your hass.io addons repos (Supervisor -> Add-on store -> three dots upper right):
https://github.com/large/hassio-addons
Reload addons list (three dots upper right).
Install Squeezelite (Shown under Lars Werner Hass.IO Addons Repository).
Due to the lack of script skills, the plugin is only supported with x86/x64 at the moment.
Squeezelite does support ARM so I will update it when I get my hands on a Raspberry PI to test it on.
If you have issues or other comments, please let me known in the issues section!
TIPS if your audio is not correct:
Install Alsa & PulseAudio Fix from resp https://github.com/OPHoperHPO/hassio-addons
Stop your player, start the plugin one time and try to play again. Works fine on my NUC.
Hi, any progress on that ARM version? I have a RPI4 and want to install Squeezelite on Hassio in combination with PiCoreplayer on other standalone RPI4âs
I am willing tot test it for you with active feedback!
Install the plugin and please return any error messages.
I dunno which packages needed in Rasp, but used the ones stated in the earlier post.
The log from Supervisor => System are handy to try to figure out what failed, see âLog providerâ as âSupervisorâ. Looking forward to hear from you
I tried the new version. Installing works, but starting the addon repeats the same message infinitely:
[23:52:30] INFO: Starting the Squeezelite client daemon...
[23:52:30] INFO: name = Home Assistant Squeezelite
[23:52:30] INFO: clientmac = 0A:0B:0C:0D:0E:0F
[23:52:30] INFO: sounddevice = default
[23:52:30] INFO: Extra options = -d all=info
[23:52:30] INFO: Squeezelite possible outputs...
./run: line 40: /usr/bin/squeezelite: No such file or directory
This is in a loop non-stop when I press refresh. Also I donât see the squeezelite speaker on my server. So I think the service fails because of a missing file or folder and therefore cannot start.
I did not get any wise on why it failed, so I need to see something in from the logs.
The file /usr/bin/squeezelite is the key component, so it has to exists
(Squeezelite file are included in the archive under the âbinâ directory, but it has to select the correct one)
Edit:
My friend suggested to move the squeezelite to /usr/local/bin instead of /usr/bin, so here is an version that does that https://github.com/large/hassio-addons/archive/v1.25b.zip
This version should not fail at installation, but could failed after âStartâ. Thanks for the feedback so far
Hi, I tried the new version. It has the same issue. Installation has no issues, so supervisor shows no eror logs. Shows:
20-11-13 09:35:27 INFO (SyncWorker_5) [supervisor.docker.addon] Build local/aarch64-addon-squeezelite:1.25b done
20-11-13 09:35:27 INFO (MainThread) [supervisor.addons] Add-on 'local_squeezelite' successfully installed
20-11-13 09:35:53 INFO (SyncWorker_1) [supervisor.docker.addon] Starting Docker add-on local/aarch64-addon-squeezelite with version 1.25b
20-11-13 09:35:53 INFO (MainThread) [supervisor.api.security] /host/info access from local_squeezelite
But starting the add-on shows the same line which gets repeated infinitely:
[10:37:48] INFO: Starting the Squeezelite client daemon...
[10:37:48] INFO: name = Woonkamer Soundbar
[10:37:48] INFO: clientmac = 0A:0B:0C:0D:0E:0F
[10:37:48] INFO: sounddevice = default
[10:37:48] INFO: Extra options = -d all=info
[10:37:48] INFO: Squeezelite possible outputs...
./run: line 40: /usr/local/bin/squeezelite: No such file or directory
Perhaps something to do with ownership and permissions while installing? What I do notice, is that I have other add-ons installed that show their directories in the folder /share on root. So perhaps it needs to install and direct there? Not all addons have a directory there, but I thought perhaps this info is of use.
Edit:
As far as I understand the plugins are each seperate dockers, so each plugin is like a âstandaloneâ from each other. On my NUC the arch are âamd64â so I copy the bin/amd64/squeezelite-1.9.7.1282-x86_64.tar.gz into the docker and extract. I suspect that the bin/[arch]/squeezelite-1.9.7.1283-[arch].tar.gz isnât copied and then does not exists.
Thank you for the log, just what I was looking for.
The arch for your system is âaarch64â so I have to figure out which binary that are correct to use. Do you know which version of linux you are running?
So the file is there and the difference between my version and yours is that ârootâ owns it, and in mine a user called 501
That was strange, I currently use the NUC image also made by the HA-crew. Iâll see if I need to take ownership or something to get it running.
I contacted Ralph Irving (author of picoreplayer) and active developer for Squeezelite. He sent me an aarch64 version he use in his distribution.
Please try this version: https://github.com/large/hassio-addons/archive/v1.29b.zip
If it still fails, please send me the full log with this info above so I know more about your system
-----------------------------------------------------------
Hass.io Add-on: Squeezelite
Squeezelite client standalone on home assistant
-----------------------------------------------------------
Add-on version: 1.29b
You are running the latest version of this add-on.
System: HassOS 4.16 (amd64 / intel-nuc)
Home Assistant Core: 0.117.6
Home Assistant Supervisor: 2020.11.0
I have added which user who runs the plugin and made root the âownerâ of the file. So if the system detects it as executable it should work.
Edit: I have been studying the difference between ARM versions and I suspect that armv6hf (that usually work in armv7) is not compatible for the aarch64 framework because of clean 64-bit system. Looking forward to your feedback.
Hi, I tested the new version. It shows different logs now. It still repeats the process and fails to actually start the service, but does appear to do more then before. Here is the log:
Hass.io Add-on: Squeezelite
Squeezelite client standalone on home assistant
-----------------------------------------------------------
Add-on version: 1.29b
You are running the latest version of this add-on.
System: HassOS 5.3 (aarch64 / raspberrypi4-64)
Home Assistant Core: 0.116.4
Home Assistant Supervisor: 2020.11.0
-----------------------------------------------------------
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[13:40:59] INFO: Starting the Squeezelite client daemon...
[13:40:59] INFO: name = Woonkamer Soundbar
[13:40:59] INFO: clientmac = 0A:0B:0C:0D:0E:0F
[13:40:59] INFO: sounddevice = default
[13:40:59] INFO: Extra options = -d all=info
[13:40:59] INFO: Check that squeezelite exists and user running the service
-rwxr-xr-x 1 root root 140K Nov 14 15:10 /usr/local/bin/squeezelite
root
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
messagebus:x:101:101::/nonexistent:/usr/sbin/nologin
[13:40:59] INFO: Squeezelite possible outputs...
/usr/local/bin/squeezelite: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/bin/squeezelite)
Nice, now the executable works
The GLIBC is included in the package âlibc6â but is currently as version 2.32. I have updated the plugin to include libc6 but I suspect that I am forced to use 2.29 so it might fail. Give it a try: https://github.com/large/hassio-addons/archive/v1.30b.zip
Add-on version: 1.30b
You are running the latest version of this add-on.
System: HassOS 5.3 (aarch64 / raspberrypi4-64)
Home Assistant Core: 0.116.4
Home Assistant Supervisor: 2020.11.0
-----------------------------------------------------------
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[14:14:59] INFO: Starting the Squeezelite client daemon...
[14:14:59] INFO: name = Home Assistant Squeezelite
[14:14:59] INFO: clientmac = 0A:0B:0C:0D:0E:0F
[14:14:59] INFO: sounddevice = default
[14:14:59] INFO: Extra options = -d all=info
[14:14:59] INFO: Check that squeezelite exists and user running the service
-rwxr-xr-x 1 root root 140K Nov 14 15:10 /usr/local/bin/squeezelite
root
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
messagebus:x:101:101::/nonexistent:/usr/sbin/nologin
[14:14:59] INFO: Squeezelite possible outputs...
/usr/local/bin/squeezelite: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/bin/squeezelite)