Repository: Ulrar's hassio addons / Forked-DAAPD, raspotify, radicale

That’s very strange, even if the config was invalid it should still start and error out.
Do you see anything in the hassio system log maybe ?

Absolutely nothing. I’ve been looking all day. And I thought it was my Home Assistant but in the interim, I set up ESPHome and built a sensor. So I’m not sure what’s going on. Maybe I’m completely missing something

My question is slightly off-topic and concerns how you have configured the calDAV integration.

I am experimenting with the calDAV integration and Radicale as well as NextCloud (both installed as Docker containers). Communication is working well. All appointments, birthdays, events, etc that I create, in a single calendar, are displayed in Home Assistant’s Calendar. They also appear in the States view as calendar entities but only if I create a custom_calendar for each category (otherwise only a single entity is created representing the next scheduled calendar entry).

The only problem with creating multiple custom_calendars (that are all based on the same single calendar) is that the Calendar view displays the events multiple times (each event is displayed the same number of times as there are custom_calendars).

How have you configured the calDAV integration to show your events?

Update: Ive been fiddling around and nothing seems to happen when I start the Forked-Daapd add-on. Nothing happens in the logs and nothing is created in the share file. However, Raspotify was able to start and be configured.

NEW UPDATE: It was an issue with a mopidy add on I was messing with and never stopped. Now it opens but wont connect.

NEW NEW UPDATE: It works. Now I just want to configure the spotify - I am getting no artist info using Raspotify. But it works! Also the Ingress does not work.

NEWNEWNEW UPDATE: I can enter credentials for Spotify but I cannot get to the OAuth screen.

Hey, sorry didn’t see your updates before.
Great ! Yes, forked-daapd acts as an MPD server so it’s using the same port as mopidy, I suppose it wasn’t starting because mopidy had the port.

Unfortunately when using raspotify you won’t get any metadata in forked-daapd, that’s because for some reason they’ve been refusing to implement a metadatapipe in librespot.
Someone actually has a PR for it that got refused, so if I have free time at some point (or if someone wants to do it) we could add that code in the addon, probably.

I haven’t tried the OAuth screen through ingress, have you tried connecting directly to the web interface to login ?

Hey sorry for the delay, I don’t actually have it configured in HA because I couldn’t find any decent calendar card. I suppose now that they have that built-in to HA I should try again, I’ll see if I can do that over the WE and update back !

1 Like

So did you mean that custom_calendars show everything in the calendar view, even events that don’t match their search regexp but the sensor only triggers for matching events ?
If so I’m seeing the same thing too, which is indeed very annoying. You can untick calendars in that view but it gets reset when you leave making it pretty useless.

Looks like a bug to me though, the calendar shouldn’t show non matching events in there

That’s correct; Calendar view shows everything and is not limited to the regexp used by custom_calendars.

Being new to the use of the calendar integration and the Calendar view, I found this difference to be confusing. One is able to control what events it shows whereas the other shows all events. The two work independently and that can produce a messy Calendar view with events appearing multiple times.

Than you for confirming that you see the same effect. At first I thought I misconfigured something but now I understand that it’s a “normal” result of the way the integration and view work together (or rather, do not work together).

Hi,
thanks for the addons. I’m having problems with authorising Spotify web API. The redirect URI is forked-daapd.local but forked-daapd.local is not the url of my home-assistant instance. Can that be changed some place?

Hoping someone can help me with a bit of lag. First, I gotta say that this repo is awesome and is exactly what I need for my system.

I’ve got Raspotify + Forked Daapd working and streaming to several speakers, all of them Airplay/Airfoil. But it works great even when I mix in all the Google Homes too…

To my point though, I am getting the following error and wondering what could be done to improve it?

[2020-09-08 10:23:31] [ LOG] player: Source is not providing sufficient data, temporarily suspending playback (deficit=266216/264600 bytes)

I think this is causing my music to have to pause for a couple seconds sometimes.

Any ideas? This is on a Rasperry Pi 4 4GB, everything is network connected.

Hey, sorry for the delay I missed this.

Are you getting that error when playing radios by any chance ? The only (relevant) mention of this I’ve found was when an internet radio had connectivity issues. Is your internet stable, any disconnects when using home assistant while streaming music ?
If that’s when using Raspotify you might want to look at raspotify’s log too, maybe it’s struggling. I did have to rewrite bits of the metadata patch myself and it might not be that stable, you could be running in an issue there.

Could you open an issue on github ? It’d be easier for me to follow than here :slight_smile:

@Ulrar
Sorry for the newbie question, but I can not see no other topic on this forum which can help me.
I have successfully installed the add-on but when adding the forked-daapd integration, it asks me the IP of the server, which I don’t know where to find it ?
Also, when I try the Open Web UI in the Supervisor screen, I get an 502 Bad Gateway error.
Could you point me out how to manage this ?
TIA

Thanks for such a great addon! I was really impressed how easy it was to get this up and running and integrated into homeassistant with the new integration.

I only have one problem. I have a rather small SSD as my primary disk that I run my homeassistant on, but I have another much larger disk that I would like to store my media in. I tried mounting this under /usr/share/hassio/backup and editing the options.json to map backup, but it never maps the folder. Do you have any idea how I can map a new folder into the container to put my music in? I’ve also tried symlinking to it but that didn’t work either.

Or do you have a version of this that runs as a normal docker container?

Thanks in advance!

Hi, sorry for the delay.

@lolongan:
My guess is the addon is failing to start, unfortunately it doesn’t work anymore since HassOS 5.6, see this issue for more information. Take a look at the log but most likely that’s the issue you’re having. If the addon ever gets fixed and starts properly then homeassistant should detect it automatically in the integration menu.

@scstraus: I would think that’d work, are you sure you’ve installed your local version of the addon and not the one from the repo after your change ? I’ve never used the backup map myself though, maybe there’s an issue with that.
Another way could be to mount your disk directly on the music forlder in share, maybe ? Or using a mount bind (mount -o bind /path/to/your/mounted/disk/music /path/to/forked-daapd/music) and leaving the music path in share.

I don’t have a version that runs as a normal docker container but others do, there’s a few results on the docker hub. I haven’t tried any so I can’t make any recommendations there sorry. You could also just use the Dockerfile from the repo to make your own if you wanted.

25 years using *nix and I never knew there were bind mounts? Wow… They must be relatively new. I did try hard linking and soft linking but no dice. I will definitely try this and let you know how it goes. I was about to make a special partition to mount in my share folder, but this would be nicer as I’d really prefer to leave it as one big disk. Will let you know how it goes.

Loving forked-daapd by the way, I did a writeup/guide on it yesterday here, which will hopefully make it easier to decide on and get started with it. Thanks for a great addon!

Hey,

Learned about mount bind from Gentoo’s install handbook, it is very handy. There’s also -o rbind if you need to bind more than one level of volumes which I learned of recently.

I did get notified on your writeup, you certainly seem to be using a lot more of the features of forked-daapd than me ! Very cool read, thanks for putting that together, I might add a link to your post in the addon’s readme.

I’m assuming you’re using a supervised install since yours is working, but unfortunately for people using HassOS the addon is currently broken because they removed avahi-daemon from the host. Haven’t found a solution to that yet, but I wouldn’t be surprised if you got people reporting issues on your post if they’re using the latest hass OS.

1 Like

Wow, learning a lot today. Feel free just to steal the whole post or parts of it for the readme if you want. I’d be happy to edit it to fit the readme better if needed.

Yes, I am running supervised on Debian, so sounds like I got lucky… Maybe my write up can help to convince them of the need for this due to the creeping problems with iTunes.

Yes I am a heavy whole home audio user with 10 zones of airplay and a music collection I’ve hand curated over 30 years. But I’m not even using all the features yet. I have linked alexa to it for launching playlists by voice and have a special app daemon for that if anyone wanted to use that. This is the one I use with forked-daapd although I haven’t updated the comments to reflect that yet. It works nicely.

Always happy to help anyone who’s in the airplay ecosystem to get a good experience. It was a lot of trial and error for me, but now it works well.

So I tried bind mounting and it worked perfectly, thanks for that. Now I can have my external disk organized how I want instead of making separate volumes all over the place to mount. Bind mounting would have saved me a lot of hassle over the years.

Also, you might find this thread interesting. He is able to make a normal forked-daapd docker container work on hassOS 5.10… So it seems that the dependency issue is not a real blocker to make it work. Not sure what’s different about his container and the one in the addon, but seems like just switching to his container for the addon could fix it.

My installation is stopping on step 22/34 for some reason. This is the log output from that step:

Step 22/34 : RUN sed -i -e 's/\(uid.*=.*\)/uid = "root"/g' forked-daapd.conf     && sed -i s#"ipv6 = yes"#"ipv6 = no"#g forked-daapd.conf     && sed -i s#/srv/music#/share/forked-daapd/music#g forked-daapd.conf     && sed -i s#/usr/local/var/cache/forked-daapd/songs3.db#/share/forked-daapd/cache/songs3.db#g forked-daapd.conf     && sed -i s#/usr/local/var/cache/forked-daapd/cache.db#/share/forked-daapd/cache/cache.db#g forked-daapd.conf     && sed -i s#/usr/local/var/log/forked-daapd.log#/dev/stdout#g forked-daapd.conf     && sed -i "/websocket_port\ =/ s/# *//" forked-daapd.conf     && sed -i "/trusted_networks\ =/ s/# *//" forked-daapd.conf     && sed -i "/pipe_autostart\ =/ s/# *//" forked-daapd.conf     && sed -i "/db_path\ =/ s/# *//" forked-daapd.conf     && sed -i "/cache_path\ =/ s/# *//" forked-daapd.conf     && sed -i "/airplay_shared/ s/# *//" forked-daapd.conf     && sed -i "/control_port\ =/ s/#/ /" forked-daapd.conf     && sed -i "/timing_port\ =/ s/#/ /" forked-daapd.conf     && sed -i "/timing_port/{N;s/\n#/\n/}" forked-daapd.conf     && sed -i "s/\(control_port =\).*/\1 3690/" forked-daapd.conf     && sed -i "s/\(timing_port =\).*/\1 3691/" forked-daapd.conf     && sed -i "/type\ =/ s/#/ /" forked-daapd.conf     && sed -i 's/\(type =\).*/\1 "pulseaudio"/' forked-daapd.conf
 ---> Running in f86b5b0ba631
sed: can't read forked-daapd.conf: No such file or directory

Removing intermediate container f86b5b0ba631
1 Like

Same thing for me :frowning:

@Ulrar : could you confirm it’s not necessary to create the file before launch the first installation please ?
If is not, could you explain this error please ?

for information, this is my configuration
|Version|core-2021.5.0|
|Installation Type|Home Assistant Supervised|
|Development|false|
|Supervisor|true|
|Docker|true|
|Virtual Environment|false|
|Python Version|3.8.9|
|Operating System Family|Linux|
|Operating System Version|4.19.0-16-arm64|
|CPU Architecture|aarch64|