yes if we can just open spotify in somewhat of a window or popup and then let it rund in the background that is also fine
The Spotify app is lacking a lot of useful features, but I can imagine there is a lot more interesting to work on right now for the Homey team. However,⦠it seems so simple based of some coding Iāve done in the past few hours.
As mentioned above, the Spotify Web API, does provide methods to control your Spotify Connect device. Despite the official plug-in telling us there are limitations to it.
Not knowing the limitations (and options) of Homey Apps, I just decided to dive in and see what I would run into. But surprisingly (and luckily?) enough it turns out the capabilities can be bound to the Spotify Web API logic!
What Iāve succeeded in so farā¦
As far as I can tell there shouldnāt be any limitations into the implementation function-wise, as the API supports the features below. All green checked items have been added to my demo so far:
Show the currently being played song (artist, song and album)
Setting the album art
Previous and next actions for the player
Getting the currently set volume of the device
Setting volume to a given percentage
Pausing and playing the player
Muting and unmuting the player
Cycle through the player shuffle modes
Setting the player to repeat
Search playlist / song from within a widget
Besides that I also tested an app widget holding an input field. The app allows the display of this field and usage of itās value. Based of this finding Iām currently trying to create custom widgets that allow me for searching a song and sending the āPlay songā command to my device. The downside to this approach would be 2 separate widgets (1 playback, 1 search) but at least itās something better compared to switching to the Spotify app on your device or using your phone.
Iād be happy to share what Iāve got with the Athom team to see if this can be implemented into the official app and widget (at least the control functionality).
Current state
On the left (Macbook) is my current Spotify Connect speaker widget compared to right (Samsung Soundbar) which comes with the official app. Oh, and on the plus side: volume control isnāt tripping like the Sonos widget does ![]()
Thank you. I think I remembered wrong and thatās why I somehow in my mind thought it would work but good thing I asked here first before spending money on something I wasnāt going to be able to use. I caved in and bought a big tablet, that should do the trick ![]()
![]()
![]()
You sir are a genious! please share! ![]()

I have this widget of the persons on the dashboard - in the emulator it works, but on the table it does not react to any touch at all - I canāt figure out why
It looks great. Thanks for your contribution @pendojoshua
Beside sharing your findings with Homey (I guess, I would use the official channel by contacting Homy support), it would be great if you could share a step by step in the Tutorials section of this community as I have seen many requests for a better integration between Homey and Spotify
@pendojoshua nice work! The largest problem here are the rate-limits. Even with the extended rate-limits it is not sufficient⦠Homey supported this feature many years ago for Spotify. Would be nice if you found a way to work around the rate-limits ![]()
And that is exactly what that method does. Only not in a window. ![]()
I didnt really understand how that works, and I dont want to buy another app just to try, can you share some pics?
and more info how this then looks like with the homey dashboard / app running as main thing?
@Harwin @Didier_SmartHome @Rocky_Lonigro: thanks for the kind words! I need a bit more time and Iāve got a few more things to fix first before this can be released in the wild. As said my preference is to find a fitting solution for the official app, but I wouldnāt mind releasing this open-source.
Rate-limit
The rate limit for Spotify is based on a 30-second window usage. While Spotify hasnāt mentioned absolute numbers a topic on their forum (https://community.spotify.com/t5/Spotify-for-Developers/Web-API-ratelimit/td-p/5330410) believes about 2-3 request per second is still valid. The extended limit should be a lot more, but no info on that one at all.
Iāve got a few tricks up my sleeve to prevent unnecessary calls, but it all comes down to the amount of users that would install the widget. Things Iāve done / will do:
- The volume slider triggers a lot of unneeded calls. Of course this makes changing volume sound smooth but this is an easy place to reduce calls: setting a timestamp when the volume has changed and only applying it to the api if there at least has been an X interval could help here. Maybe combined with 10% steps: if the step is 10% or larger, apply instantly otherwise queue.
- I also queue updating the Homey widget interface (artist, album, track and art) by using an interval of 15 seconds. While I understand that this does give a pretty large timeframe in which the UI shows the wrong song I also canāt imagine this being an issue for the use case of the tablet as a controller. Besides the interval, synching the interface also happens instantly as itās bound to the playerās next and previous functions.
- You can get the device status (online yes/no and playing yes/no), based off of these values I want to increase or decrease the interval lenght. F.e. the offline device can be synced once per minute, a non-playing device every 30 seconds and when its online and playing every 10-15 sec. State would be overwritten as soon as you start it from within the app / widget.
As good as this sounds, all these numbers do increase rapidly when usage of the app increases. The amount of widgets * the amount of calls per interval = total usage. And I can see why that (eventually) is going to be an issue.
Solution(?): setup Spotify web API per user
Another solution would be to have each user setup their own Spotify Web API account and insert their credentials in the setup process of the app. This would scope the usage to just their Homey devices. While looking for code examples I ended up sniffing around in HomeAssistant and noticed thatās in their Spotify instructions as well. As itās just filing in some forms itās not exactly rocket science. And as far as Iām concerned a valid option that most of us should feel comfortable with.
Questions
As Iāve just been tinkering around for about 10 hours with Homey (loving it so far!) there are a few things I need some help or explanation to:
- For some reason setting an image resource for the albumArt does not work very good when using
homey app run, it does however work if I usehomey app install.
When I runThis is fixed, not sure how, but it suddenly started workinghomey app runI get errors on speaker_shuffle and speaker_repeat: invalid capability. When installing the app there are no errors, but the UI buttons on the media card are not working. Any ideaās?
Current state
All capabilities work in the player! See screenshot below.
Want to take this to the testrack?
If anybody is interested in playing around with this Spotify app, feel free to do so. Iāve released the source code to Github with a set of instructions on how to get it running. You have to be comfortable with using the homey cli (for now). Iāll gladly accept suggestions for code improvements ![]()
A verry hard time ![]()
For the handy-few among us, Iāve added the source code for the Spotify app to Github with instructions on how to set it up. Feel free to test, feedback and suggest your findings!
After testing and improving the app I hope to find an option to have the OAuth2 app id and secret to be part of the app settings. As soon as I figure that out the app should be publishable and usable for regular users with a few instructions on how to create the Spotify app.
Iām also going to stop hijacking this thread so we can get back on topic about the dashboard feature. Although this is part of it I feel like Iām taking the focus of the actual subject here. I created a separate topic in the Apps sub-forum for the people interested:
I also have a few dashboards but now I want to put variable in them but I canāt choose one I only get ānext event titleā
Homey is 2016 version 12.1.0
Who can help me with this?
You can run iPados apps in a mac, but that doesnt mean that they always run well
With a pro 23, youād use
homey app run --remote
to actually run it on your Homey
Thanks, Iāll give that a go next time. As far as I could say it seemed to be working for the larger part without the --remote flag.
Afaik without the --remote flag the app runs inside the Homey docker image. Maybe that"s not 1:1 equal to running it on a hardware version of Homey.
But Iām no expert on that
Looks like a found a bug on Android, it seems in widget.compose.json:
"transparent": true,
Has no effect on Android, while it does on iOS devices.
As you can see there is no border or shadow around the sticky-note widget in iOS, however it still remains on the android version.
Moving this to the request thread for this feature:
@Waldo did you increment the compatibility to 12.1.2? Thatās the requirement for transparent


