forslund / spotify-skill

Mycroft Skill to control spotify using the Spotify Connect API
Apache License 2.0
71 stars 38 forks source link

Command to search for new spotify devices #175

Open paddatrapper opened 2 years ago

paddatrapper commented 2 years ago

Is your feature request related to a problem? Please describe. In the event that raspotify on the Picroft is loaded after this skill, the device will not be found. There is no way for it to detect it later and Mycroft will just respond that no Spotify devices were found.

Describe the solution you'd like It would be nice to be able to trigger a search of available connect devices to refresh the list

Describe alternatives you've considered Alternatively it could search whenever it fails to find any devices or regularly without needing a prompt.

forslund commented 2 years ago

Hi thanks for reporting this. It is a bit curious though, the device list is only cached for 60 seconds so the device should be found automatically. which should in practice be at the start of every playback. In case it isn't there's a bug here. I'll try to verify here.

Just to verify, Is your raspotify instance configured with username and password so it logs in and connects to your account automatically?

paddatrapper commented 2 years ago

No, I'm not using account linked raspotify. Mainly because I only want it configured to work over the local network and not display as an option when I'm connected to other networks.

I've found if I play to raspotify via another client (android for example), then try again from Mycroft it works more reliably

forslund commented 2 years ago

Thanks for the clarification.

I've tested with librespot (which is what raspotify uses) on PC and it is detected basically directly. And it works fairly reliable (will test tomorrow morning as well):

what spotify devices are available
>> Kitchencroft 6

[Starts librespot with my user and pass]

what spotify devices are available
 >> I see the Spotify devices named:
    Kitchencroft 6 and Woodstock

[Shuts down librespot
what spotify devices are available
>> Kitchencroft 6

[Restarts librespot with the devicename Woodstock15]
 >> I see the Spotify devices named:
    Woodstock15 and Kitchencroft 6

I will try to get picroft setup during the week and test with latest raspotify. How do you start raspotify? Is it using systemctl restart raspotify

I'll see if I can create a debug branch as well trying to give some more clarity on this.

paddatrapper commented 2 years ago

How do you start raspotify? Is it using systemctl restart raspotify

It is enabled to start at boot, but yes, using systemd with a override patch to set the user and group running the service to pi

forslund commented 2 years ago

Hi I've set up a picroft with raspotify but so far I haven't been able to recreate your issue, for me the what spotify devices are available will report the local device if it's on and playback works for me.

Can you verify that the password and username are shown correctly when you do

ps aux | grep librespot

I'll try to push a branch tomorrow with more debug logs so we can get to the bottom of this issue

paddatrapper commented 2 years ago

I've been trying to replicate this more, but it seems to have worked reliably since. I'll test again after a restart and let you know