# \[APP\]\[Pro\] Dashboard Studio - A completely free-form dashboard designer

**URL:** <https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169>\
**Category:** Apps\
**Tags:** dashboard, homey-pro\
**Created:** [February 15, 2026, 7:45pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169 "2026-02-15T19:45:30Z")\
**Posts on this page:** 20\
**Page:** 72

<div class="post-metadata">

**Author:** ![SergeP](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sergep/32/81216_2.png) [@SergeP](https://community.homey.app/u/SergeP)\
**Post date:** [October 3, 2026, 3:01pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1439 "2026-10-03T15:01:23Z")

</div>

Hi **[Satoer](https://community.homey.app/u/satoer)**,

> [@Satoer](#):
>
> Markdown now supports blinking text if you put it between [blink]…[/blink] tags. Or use [blink 3]…[/blink] to set a custom blinking time of 3 seconds.  
> Examples are on the [markdown demo page](https://satoer.com/dashboardstudio/demo/editor.html?page=11) and if you want to make dynamic blinking: on the [Formulas demo page](https://satoer.com/dashboardstudio/demo/editor.html?page=18)

Nice ! Works perfect !  
Thank you.

Regards,  
SoPhos

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 3, 2026, 3:11pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1440 "2026-10-03T15:11:06Z")

</div>

With V2 I dropped editor compatibility for iOS 12. There is really no need to keep supporting it since nobody is using that relic to edit dashboards anyway, so the editor probably will not work properly on it. The viewer, however, should still work without issues. The last test I ran with the demo page on an old iPad Air 2 running iOS 12 worked just fine.

Try loading the dashboard with:  
`http://[IP]:5050/viewer.html?dashboard=[dashboard name]`

---

<div class="post-metadata">

**Author:** ![Icube0815](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/icube0815/32/121095_2.png) [@Icube0815](https://community.homey.app/u/Icube0815)\
**Post date:** [October 3, 2026, 3:13pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1441 "2026-10-03T15:13:26Z")

</div>

Hi Satoer,

perfect, works as a charm. Thanks for your swift response, as always.

Have a nice weekend.

Icube

---

<div class="post-metadata">

**Author:** ![Freek6952](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/freek6952/32/87179_2.png) [@Freek6952](https://community.homey.app/u/Freek6952)\
**Post date:** [October 3, 2026, 7:26pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1442 "2026-10-03T19:26:53Z")

</div>

Hi @Satoer , this problem has been resolved in version 2.0.11. I’ve tested it, and it works perfectly. Thanks again for the effort.

---

<div class="post-metadata">

**Author:** ![Gunther\_Potters](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gunther_potters/32/56442_2.png) [@Gunther\_Potters](https://community.homey.app/u/Gunther_Potters)\
**Post date:** [October 4, 2026, 8:41am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1443 "2026-10-04T08:41:02Z")

</div>

Hello, thanks in advance for the help. I just can’t get it to work. I put the JSON in the grid light widget, and the on - off value in the switch widget! How to make this dynamic is not clear to me, how do I do that!? I’ve only been working with your dashboard for a few weeks, and I’m still learning how everything works.

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 4, 2026, 11:28am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1444 "2026-10-04T11:28:09Z")

</div>

You have enabled the “turned on” capability for that light, right?  
 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/4/943ef134567cffaa18330ba867561749a2e8e54a.png)  
Click “Copy Topic”.  
Now head over to your dashboard, select the switch widget, and open the “Action & Behavior” section. Paste this topic into “Output topic”.

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/257f9f181abe680ff5078b4f9b5b418bbeba735c.jpeg)  
(Or you can select it from the dropdown.)  
(Make sure the ON value is True, and OFF value is False)  
When you test the dashboard by exiting edit mode, you should be able to toggle the light on and off with the switch.

However, if you control your light outside the dashboard (like inside Homey), the switch will not update automatically. To get this working, you need to make the “state” setting dynamic.  
In that same section, find the “state” setting and hover your cursor over it to reveal a link icon.

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/1/4150ff762b2e871363c0b72ee7ce771976530b55.png)  
Clicking this icon lets you make any setting dynamic.  
Paste that same topic inside it:  
 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/3/33577c0af2605ddedb5a95b9d35a1b5cfb5c8fa3.png)

Now the switch will reflect the actual light status even when switched outside your dashboard. Give it a test by opening the Homey app on your phone and toggling the light. The switch on your dashboard should update right away.

That is pretty much all there is to it. When you switch the light through the light grid, and you turn the light on or off, the light broadcasts its status back to the dashboard, and the switch flips to the matching position.

---

<div class="post-metadata">

**Author:** ![Gunther\_Potters](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gunther_potters/32/56442_2.png) [@Gunther\_Potters](https://community.homey.app/u/Gunther_Potters)\
**Post date:** [October 4, 2026, 12:24pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1445 "2026-10-04T12:24:02Z")

</div>

Thank you for the detailed explanation, it works well now. A donation is on its way…

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 4, 2026, 1:24pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1446 "2026-10-04T13:24:39Z")

</div>

> [@Gunther\_Potters](#):
>
> A donation is on its way

Thank you 🍻 Appreciated 🙂

@Jean_S Thank you as well! 🍻 😀

@Freek6952 Thank you as well! (Just noticed the donation) 🍻 🍻 🍻 (getting drunk 🤣)

---

<div class="post-metadata">

**Author:** ![Amersfoort](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@Amersfoort](https://community.homey.app/u/Amersfoort)\
**Post date:** [October 4, 2026, 3:20pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1447 "2026-10-04T15:20:05Z")

</div>

It seems the audio function doesn’t work when selecting a menu option from a pull-down menu (v2.0.11). Or am I forgetting to activate an option?

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 4, 2026, 4:28pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1448 "2026-10-04T16:28:13Z")

</div>

No, that is a bug, but I actually want to change how it works anyway. Right now, every single menu item can have its own sounds, which is total overkill and not user friendly at all. In the next version, I am removing individual audio settings from each menu item and moving them to a shared audio section instead. So do not use it, because it is getting removed 😅

---

<div class="post-metadata">

**Author:** ![Bert\_Onraedt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bert_onraedt/32/79096_2.png) [@Bert\_Onraedt](https://community.homey.app/u/Bert_Onraedt)\
**Post date:** [October 4, 2026, 4:55pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1449 "2026-10-04T16:55:33Z")

</div>

Hi, I just noticed something i never actually use (yet?), because it’s only usefull on a computer with a mouse.

In a switch - image only - custom image SVG which is colored by a Homey Variable. Setting & changing the color using a Homey Variable works perfectly. However the ‘hover’ color is only taken into account when the state of the button is ON. When the state is OFF, the hover color is grey. There is no seperate hover color in the OFF state…

Again, I don’t actually use that function, I was just using it to quickly check on a good color to choose, but it didn’t update…

Also, I don’t know if you have (over)looked (into this yet)?

> [@Bert\_Onraedt](#):
>
> When selecting underlaying widgets with the middle mouse button, I can not select widgets that are hidden behind a ‘group’. I have to select them in the menu, or ungroup the group to be able to select the widgets that are behind it…

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 4, 2026, 5:11pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1450 "2026-10-04T17:11:36Z")

</div>

Yes, that has been there since the first version, and I still need to fix it. You are actually the first person who mentioned it, so it was never really high on my fix list 🤣  
I completely forgot about the second one (selecting behind groups), so I will fix that too.

---

<div class="post-metadata">

**Author:** ![Hans\_Ooms](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/hans_ooms/32/49628_2.png) [@Hans\_Ooms](https://community.homey.app/u/Hans_Ooms)\
**Post date:** [October 5, 2026, 10:25am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1451 "2026-10-05T10:25:23Z")

</div>

i maked a switch to turn on\off lights. this works but the status is’nt working. its only working when i turn the light on from a different place. what am i doing wrong? im new for this. hope you can help

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/3/f3f1449f4f81e47236981a0ff3bdef3a9d14117e.png)

---

<div class="post-metadata">

**Author:** ![Amersfoort](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@Amersfoort](https://community.homey.app/u/Amersfoort)\
**Post date:** [October 5, 2026, 11:03am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1452 "2026-10-05T11:03:47Z")

</div>

Please try to change the “State (on/off)” variabele to _kookeiland-groep/onoff_.

---

<div class="post-metadata">

**Author:** ![Hans\_Ooms](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/hans_ooms/32/49628_2.png) [@Hans\_Ooms](https://community.homey.app/u/Hans_Ooms)\
**Post date:** [October 5, 2026, 11:33am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1453 "2026-10-05T11:33:58Z")

</div>

thnx that worked.

---

<div class="post-metadata">

**Author:** ![Bert\_Onraedt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bert_onraedt/32/79096_2.png) [@Bert\_Onraedt](https://community.homey.app/u/Bert_Onraedt)\
**Post date:** [October 7, 2026, 8:30am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1454 "2026-10-07T08:30:45Z")

</div>

Good morning, ran into some ‘new’ issues (for me).

I’m creating a small dashboard showing on which input my receiver is.  
I made three image-only-push-buttons that activate a ‘xxx-triggered-flow’ to put the receiver in the right input, works flawless.

Now I also want these buttons to ‘light up’ (change color) when the input is active. This can perfectly be done with the boolean payload mapping setting the right input value as ‘true’.  
Only… a push button doesn’t have the ‘state’ field. I changed into toggle switch and now works perfectly.

Once more, not really a problem, it works. Just wanted to know if this is ‘by design’ that a push button shouldn’t be able to show the state?

Also noticed, when you save the dashboard while working on page 3, it always opens in page 3 afterwards…

Also noticed: in Windows 11 - Chrome Label widget can not be resized…

Also noticed: this kind of formula’s don’t work 😇

if( value == “net\_radio”, “Netradio”, “if( value == “Audio1”, “TV”, “if( value == “Tuner”, “Radio”, “off”)”)”)

---

<div class="post-metadata">

**Author:** ![Amersfoort](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@Amersfoort](https://community.homey.app/u/Amersfoort)\
**Post date:** [October 7, 2026, 9:41am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1455 "2026-10-07T09:41:42Z")

</div>

A few answers to the best of my knowledge

> [@Bert\_Onraedt](#):
>
> Just wanted to know if this is ‘by design’ that a push button shouldn’t be able to show the state?

A push button only starts/activates something, and doesn’t have a state. A switch switches something on or off and therefore does have a state. So I think it is by design.

> [@Bert\_Onraedt](#):
>
> when you save the dashboard while working on page 3, it always opens in page 3 afterwards

The value in the Active page parameter in the global Dashboard Environment determines the page to be opened.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/1/d1849b2e3f5da9e70da28d72c7d065b1d290c6f0.png)  
That is why I made the parameter variable. When the dashboard starts up, the flow below ensures that page 1 opens. Alternative: before saving the dash, first go to page 1.  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/2591422059623794449d9c8a5d7a3308d47a2a7f.png)

> [@Bert\_Onraedt](#):
>
> Label widget can not be resized…

When you disable the “Auto width” and/or “Auto height” you can resize a Label

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/6/76a0ebe66b5c37b2d341284da72d58a8fc474919.png)

> [@Bert\_Onraedt](#):
>
> this kind of formula’s don’t work

Do not use quotation marks around an “if” statement itself, and be careful with the quotation marks; they must be straight:

```auto
if(value == "net_radio", "Netradio", if(value == "Audio1", "TV", if(value == "Tuner", "Radio", "off")))

```

---

<div class="post-metadata">

**Author:** ![Bert\_Onraedt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bert_onraedt/32/79096_2.png) [@Bert\_Onraedt](https://community.homey.app/u/Bert_Onraedt)\
**Post date:** [October 7, 2026, 10:17am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1456 "2026-10-07T10:17:10Z")

</div>

Thanks for your quick response.

The resizing of the label and the formula without the “” works. I just filled in the “Off” with the formula… Kind of prove I don’t know \*\*\*\* about programming.  
Now I just noticed that the left/center/right alignment is not working in the label.  
update: alignment does work in Fully Kiosk, but not in Chrome on Windows…  
update 2 after closing and re-opening Chrome it does work… strange… considder this issue as solved 😉

About the “active page”, that actually follows the page you are editing. While your flow will solve this minor issue, maybe there should be an option to select a page ‘on open’ ?

About the switch I understand your way of thinking, but I don’t fully agree on that.  
In my mind I compare it to switches in f.i. your house. You can have multiple push buttons (to be able to turn a light on or off from multiple sides of the room) while a ‘state’ light is still available (and updated on every button).

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 7, 2026, 10:40am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1457 "2026-10-07T10:40:59Z")

</div>

Amersfoort pretty much covered it, but just to add a bit:

> [@Bert\_Onraedt](#):
>
> Also noticed, when you save the dashboard while working on page 3, it always opens in page 3 afterwards…

Yes, this bugs me as well. Sometimes I make a quick tweak to the demo dashboard, save it, and push it to the Homey App Store, only to realise I accidentally changed the default landing page. The active page is simply stored as a dashboard setting, so navigating to it updates that value (and saves it).

I will fix this though. The upcoming update introduces a setting to automatically return to the home page after an idle timeout, so I will make to that as the default start page as well whenever it is configured.

> [@Amersfoort](#):
>
> > [@Bert\_Onraedt](#):
> >
> > Label widget can not be resized…
> 
> When you disable the “Auto width” and/or “Auto height” you can resize a Label
> 
> ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/6/76a0ebe66b5c37b2d341284da72d58a8fc474919.png)

Indeed, it automatically scales to fit the text by default. Is there a specific reason you would prefer it not to auto-size out of the box? Just curious what your use case is for making the container larger or smaller than the text itself.

> [@Bert\_Onraedt](#):
>
> I’m creating a small dashboard showing on which input my receiver is.  
> I made three image-only-push-buttons that activate a ‘xxx-triggered-flow’ to put the receiver in the right input, works flawless.
> 
> Now I also want these buttons to ‘light up’ (change color) when the input is active. This can perfectly be done with the boolean payload mapping setting the right input value as ‘true’.  
> Only… a push button doesn’t have the ‘state’ field. I changed into toggle switch and now works perfectly.

As Amersfoort pointed out, that is intended behaviour because a standard push button has no persistent state. One extra tip: you can set up a radio group so only a single button in the group stays active at a time. Take a look at the [“selection group” on the demo page](https://satoer.com/dashboardstudio/demo/editor.html?dashboard=demo&page=5).

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/6/166160ec140883c75468e747cbc14f5639db0cda.jpeg)

---

<div class="post-metadata">

**Author:** ![Bert\_Onraedt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bert_onraedt/32/79096_2.png) [@Bert\_Onraedt](https://community.homey.app/u/Bert_Onraedt)\
**Post date:** [October 7, 2026, 11:23am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1458 "2026-10-07T11:23:26Z")

</div>

> [@Satoer](#):
>
> Indeed, it automatically scales to fit the text by default. Is there a specific reason you would prefer it not to auto-size out of the box? Just curious what your use case is for making the container larger or smaller than the text itself.
> 
> Bert\_Onraedt:

My neurotic mind wants to specify where exactly it should be. As it’s contents is dynamic (hence the formula) & centered, i like to be in control… It probably works perfectly fine when I let it size itself automatically, but honestly didn’t think about that for one second. Since the existance of the advanced text widget, I have never used labelwidgets anymore. I just needed one now as i wanted to play with the formula, and didn’t see straight away how to integrate that in the text-widget {{ }}…

I understand your way of thinking for the ‘state’ on push buttons. Still don’t fully agree 😉 but it works fine when using a toggle switch, so no issue at all.  
I might look into the selection group later. Haven’t used that before, so have to find out how each button can have a different ‘output’ while de state is still defined by a dynamic value.  
To be honest, that is a little bit my problem with a toggle switch: if you click/push it, the state is changed on the dashboard studio, even if the action failed…

[Previous page](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169.md?page=71)

[Next page](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169.md?page=73)
