Error spotify and soundcloud

I have this in my core.conf file:

[spotify]
enabled = true
username = *****
password = *****

client_secret = **********************************************
client_id = **************************************

[soundcloud]
auth_token = *****************************
explore_songs = 25

But I still get:
WARNING Found local configuration errors, the extension has been automatically disabled:
WARNING local/media_dir must be set.
WARNING Found soundcloud configuration errors, the extension has been automatically disabled:
WARNING soundcloud/auth_token must be set.
WARNING Found spotify configuration errors, the extension has been automatically disabled:
WARNING spotify/username must be set.
WARNING spotify/client_secret must be set.
WARNING spotify/password must be set.
WARNING spotify/client_id must be set.
WARNING Please fix the extension configuration errors or disable the extensions to silence these messages.

What am I doing wrong? Running it on raspberry 3 with hassbian…

What and where is core.conf? What is hassbian? Have you read https://docs.mopidy.com/en/latest/service/#configuration ?

core.conf is a config file in the mopidy directory. Hassbian is an image with Home assistant. I have read the documentaton.

I’m following this guide:
https://home-assistant.io/blog/2016/02/18/multi-room-audio-with-snapcast/

To be honest, having tried the method suggested above I found it a lot more efficient to set up mopidy properly and run it as a service.
Install Mopidy on all the Pi’s
Install snapserver and snapclient on one Pi, and make sure this one has the audio directed in the .conf to the pipe.
[audio]
mixer = software
mixer_volume = 30
#output = autoaudiosink
*output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapfifo
buffer_time =

*note output setting this should all be on one line location=/tmp/snapfifo is after filesink

On the others install snapclient, but setup the audio to go to autoaudio sink
[audio]
mixer = software
mixer_volume =
output = autoaudiosink
buffer_time =

Get that up and running first.
Then in your configuration.yaml (Use the IP address of your PI)
media_player:

  • platform: mpd
    host: 192.168.0.10
    name: An_MPD_Player
  • platform: snapcast
    host: 192.168.0.10

The controls will then appear on your HA home screen.

To control the Players I put a weblink in the yaml

weblink:
entities:
- name: Kitchen
url: http://192.168.0.20:6680/iris/#/discover/categories
icon: mdi:music-box-outline
- name: Lounge
url: http://192.168.0.10:6680/musicbox_webclient/index.html#playlists
icon: mdi:music-box-outline
- name: Iris
url: http://192.168.0.10:6680/iris/#/discover/categories
icon: mdi:music-box-outline

It works well, it means anybody on the network can control volume and play from on each Pi, as the snapcast app is only available for android it’s an easy alternative for IOS users.

Thanks for your reply. I Will try to set up this way. But im gonna use a couple of “old” Android TV sticks AS the clients so far. So I’ll use the app on those.

If you are still running into problems then post the entire config, the entire log and the exact command you are using to launch mopidy. Your error is because it cannot read the config file that contains the settings. Either because you specified the wrong file path, the file has the wrong permissions, or possibly it’s badly formatted and cannot be understood. Personally I’d just configure each instance as a service and use the single default config file in /etc/mopidy/mopidy.conf, like @Steve_Lambert said.

I got it working. Found out that its an “ext.conf” file in each of the extension folder. Had to put the info in those. Only tested quick on my phone. But that was working. Gonna Try with more clients today.

I havent found these ext.conf files mentioned in the documentaton.

Another question…
What is the best way to add mp3s from a folder shared on a Windows computer on the network?
Mount it to the pi? An extension that works for this?

It’s not in the documentation as that’s not the correct way for end users to configure mopidy. Those files are solely used by extension developers to define defaults for their extensions.

Yes, mount the share on your pi and use the regular mopidy-local-sqlite extension. Alternatively, run a DLNA server on your Windows computer and use mopidy-dleyna.

I understand that. But seems like that files override the Main conf file… or that the extension only look in its own folder for the settings. would be better/easier to have one conf-file

But I had to do it that way to make it work.

Thanks for Your reply

It works the opposite. The main config file (by default /etc/mopidy/mopidy.conf for the service or ~/.config/mopidy/mopidy.conf otherwise) overrides the default settings which are composed of the sum of the individual ext.conf files.

Users should always be editing the main config file. Anything else is subject to be overwritten on upgrade. If you provide the details I mentioned previously we can try and get to the bottom of the problem, up to you.

I Will try to move the settings from the ext.conf files to Mopidy.conf later today and provide the log. My mopidy.conf file is in /etc/mopidy/ folder.

So will you be installing mopidy on the androids sticks for playing back, or just using them as snap clients?

@Steve_Lambert

Just for sound output. So only snapclient.

The system you are trying to install is more designed for multi room where each unit can play through mopidy and through snapclients. If you are only trying to play through snapclients you are over complicating the setup.

As I’ve said above install mopidy and use /etc/mopidy/mopidy.conf for all the conf files, run as a service (or not but then use the other location for conf files) install snap server and client and it will work, install the android apk on the sticks and on phone and it will work.

I’ve set up multiroom audio using Mopidy, Snapcast and HASS 8 times for various friends and family and the beauty of it is it just works straight out of the box each time.

Currently I have 4 pi’s they can all play the same sent via snapserver, or they can play, using mopidy, Spotify, Tunein or local files. I use either Iris or Musicbox webclient to control them.

Nice. I might add more pis or something later. Then i might be setting it up with both. But for now im gonna just use the sticks for sound output.

Is there any easy way to choose wich units that plays? Or do i have to control that via the snapclient app?

You can control snapclients with the app, if you want to stick to the phone use remotedy or Mopidy Mobile to control music selection.
If you want web based control of both snapcast and music selection I use HomeAssistant - just follow the instruction in the post near the top of this.
I also have installed musicbox webclient and iris to control my music selection.
As mentioned in the above post you can put a link in your HA configuration.yaml to open either of the webclients.

It works with spotify now by some reason… :slight_smile: So that’s nice.

But got problems with soundcloud… can browse… but the songs are not playable… pasted part of the log here: https://pastebin.com/GHqS9ZfS

It seems I have to ditch the android sticks… waaaaay out of sync. even though I sync them with the latency option It is not in sync next time it connects to the server… and seems not possible to autoconnect to the server when the app starts… So no headless either…

I have gotten the exact same app on my phone. That one is totally in sync… so dunno why…

Snapcast does need a very good signal to maintain the sync, perhaps try the sticks closer to the router, see if they work then. I Also find it better if the Pi acting as server is wired into the router.
Glad Spotify is working, afraid I can’t help with the Soundcloud issue.

Well. the PI is wired. and one of the 2 tv-sticks is wired… and the second one was 3 m from the router, open space…
But I have another issue too… will it ever stop :stuck_out_tongue:

None of my webextensions show up in the mopidy adress… and for instance xx.x.xx.xxx:6680/iris dont work… I have tried reinstalled it several times… and it is enabled in the settings…

Did you try sudo pip install “name of webclient” ?