# Homey Dashboards | Megathread

**URL:** <https://community.homey.app/t/homey-dashboards-megathread/116963>\
**Category:** Dashboards\
**Created:** [September 30, 2024, 11:21am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963 "2024-09-30T11:21:40Z")\
**Posts on this page:** 20\
**Page:** 16

<div class="post-metadata">

**Author:** ![Rocky\_Lonigro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rocky_lonigro/32/80350_2.png) [@Rocky\_Lonigro](https://community.homey.app/u/Rocky_Lonigro)\
**Post date:** [October 15, 2024, 11:48pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/315 "2024-10-15T23:48:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pendojoshua](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pendojoshua/32/116452_2.png) [@pendojoshua](https://community.homey.app/u/pendojoshua)\
**Post date:** [October 16, 2024, 12:55am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/316 "2024-10-16T00:55:31Z")

</div>

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 👏

 ![Screenshot 2024-10-16 at 04.44.17](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/4/743382c810b5452474d11016229a4aa88da22fd9.png)

---

<div class="post-metadata">

**Author:** ![OWA](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/owa/32/39114_2.png) [@OWA](https://community.homey.app/u/OWA)\
**Post date:** [October 16, 2024, 3:50am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/317 "2024-10-16T03:50:53Z")

</div>

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 ☺☺👍

---

<div class="post-metadata">

**Author:** ![Rocky\_Lonigro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rocky_lonigro/32/80350_2.png) [@Rocky\_Lonigro](https://community.homey.app/u/Rocky_Lonigro)\
**Post date:** [October 16, 2024, 6:37am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/318 "2024-10-16T06:37:08Z")

</div>

You sir are a genious! please share! 🙂

---

<div class="post-metadata">

**Author:** ![Rocky\_Lonigro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rocky_lonigro/32/80350_2.png) [@Rocky\_Lonigro](https://community.homey.app/u/Rocky_Lonigro)\
**Post date:** [October 16, 2024, 7:03am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/319 "2024-10-16T07:03:18Z")

</div>

![{BD1DE43D-D881-490F-8B6B-8D166692C121}](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/d/cdaa85da63d8a5f5f7d05804cc7faec6c05e65ad.png)  
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

---

<div class="post-metadata">

**Author:** ![Didier\_SmartHome](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/didier_smarthome/32/97365_2.png) [@Didier\_SmartHome](https://community.homey.app/u/Didier_SmartHome)\
**Post date:** [October 16, 2024, 7:12am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/320 "2024-10-16T07:12:58Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Harwin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harwin/32/115447_2.png) [@Harwin](https://community.homey.app/u/Harwin)\
**Post date:** [October 16, 2024, 7:31am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/321 "2024-10-16T07:31:41Z")

</div>

@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 😈

---

<div class="post-metadata">

**Author:** ![McFly](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mcfly/32/78986_2.png) [@McFly](https://community.homey.app/u/McFly)\
**Post date:** [October 16, 2024, 7:40am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/322 "2024-10-16T07:40:42Z")

</div>

And that is exactly what that method does. Only not in a window. 😉

---

<div class="post-metadata">

**Author:** ![Rocky\_Lonigro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rocky_lonigro/32/80350_2.png) [@Rocky\_Lonigro](https://community.homey.app/u/Rocky_Lonigro)\
**Post date:** [October 16, 2024, 8:15am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/323 "2024-10-16T08:15:38Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![pendojoshua](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pendojoshua/32/116452_2.png) [@pendojoshua](https://community.homey.app/u/pendojoshua)\
**Post date:** [October 16, 2024, 8:29am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/324 "2024-10-16T08:29:50Z")

</div>

@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](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:

1. 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 use `homey app install`.
2. ✅ ~~When I run `homey app run` I 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?~~ This is fixed, not sure how, but it suddenly started working 🤷‍♂️

**Current state**  
All capabilities work in the player! See screenshot below.

 ![Screenshot 2024-10-16 at 13.05.04](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/1/01f70a22ded56e7e84b4145893889f9fd6f06638.png)

**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 🙂

> **[GitHub - PendoNL/nl.pendo.spotify](https://github.com/PendoNL/nl.pendo.spotify)**
>
> Contribute to PendoNL/nl.pendo.spotify development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Peter\_de\_Vos](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_de_vos/32/151925_2.png) [@Peter\_de\_Vos](https://community.homey.app/u/Peter_de_Vos)\
**Post date:** [October 16, 2024, 12:03pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/325 "2024-10-16T12:03:46Z")

</div>

A verry hard time 😉

---

<div class="post-metadata">

**Author:** ![pendojoshua](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pendojoshua/32/116452_2.png) [@pendojoshua](https://community.homey.app/u/pendojoshua)\
**Post date:** [October 16, 2024, 12:31pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/326 "2024-10-16T12:31:55Z")

</div>

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.

> **[GitHub - PendoNL/nl.pendo.spotify](https://github.com/PendoNL/nl.pendo.spotify)**
>
> Contribute to PendoNL/nl.pendo.spotify development by creating an account on GitHub.

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:

> [@\[APP\]\[Pro\] Spotify Connect (beta - ready for testers)](https://community.homey.app/t/app-pro-spotify-beta-homey-cli-required/118309):
>
> Note: for using this app you need a Spotify premium account and create your own [Spotify app](https://developer.spotify.com/) via their developer platform. Setting up the Spotify app is easy and eliminates any possible issues with the Spotify API rate limit. warning This app only works with a Spotify Connect device and will not work with Sonos or Google speakers! warningInstall the app (testversion) What does this app get you? This app adds the driver and device for Spotify Connect speakers. While it looks the same as t…

---

<div class="post-metadata">

**Author:** ![Fred](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/fred/32/61727_2.png) [@Fred](https://community.homey.app/u/Fred)\
**Post date:** [October 16, 2024, 1:14pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/327 "2024-10-16T13:14:37Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [October 16, 2024, 2:32pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/328 "2024-10-16T14:32:23Z")

</div>

You can run iPados apps in a mac, but that doesnt mean that they always run well

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [October 16, 2024, 5:42pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/329 "2024-10-16T17:42:43Z")

</div>

> [@pendojoshua](#):
>
> does not work very good when using `homey app run`

With a pro 23, you’d use  
`homey app run --remote`  
to actually run it on your Homey

---

<div class="post-metadata">

**Author:** ![pendojoshua](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/pendojoshua/32/116452_2.png) [@pendojoshua](https://community.homey.app/u/pendojoshua)\
**Post date:** [October 16, 2024, 5:53pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/330 "2024-10-16T17:53:13Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [October 16, 2024, 6:05pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/331 "2024-10-16T18:05:13Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Waldo](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/waldo/32/115680_2.png) [@Waldo](https://community.homey.app/u/Waldo)\
**Post date:** [October 16, 2024, 6:46pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/332 "2024-10-16T18:46:25Z")

</div>

Looks like a found a bug on Android, it seems in `widget.compose.json`:

```json
"transparent": true,

```

Has no effect on Android, while it does on iOS devices.  
 ![Android (via BlueStacks)](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/5/95065c15770e6336afdd521e8061252175ad84de.png)

 ![iPhone](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/f/cf3ae494afcc9c439c2d576769f84a63419f0847.jpeg)

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.

---

<div class="post-metadata">

**Author:** ![McFly](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mcfly/32/78986_2.png) [@McFly](https://community.homey.app/u/McFly)\
**Post date:** [October 17, 2024, 5:33pm UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/333 "2024-10-17T17:33:23Z")

</div>

Moving this to the request thread for this feature:

> [@\[Request\] Opening apps from tiles](https://community.homey.app/t/request-opening-apps-from-tiles/117963):
>
> It can be very convinient to open an app from a tile in Dashboards. For instance, you might want to browse your music with the Spotify app or add something to you shopping list app. The way I do it now is by using “Dashboard Controller” ([Dashboard Controller App til Homey | Homey](https://homey.app/da-dk/app/nl.xseth.dashboardctrl/Dashboard-Controller/)). This app has a flow card that opens up an app. After 20 seconds of inactivity, I then close the app again in a flow, which then in turn displays the dashboard again. After seeing the newest podcast and the Kiosk-mo…

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [October 18, 2024, 7:51am UTC](https://community.homey.app/t/homey-dashboards-megathread/116963/334 "2024-10-18T07:51:08Z")

</div>

@Waldo did you increment the compatibility to 12.1.2? That’s the requirement for transparent

[Previous page](https://community.homey.app/t/homey-dashboards-megathread/116963.md?page=15)

[Next page](https://community.homey.app/t/homey-dashboards-megathread/116963.md?page=17)
