# \[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:** 71

<div class="post-metadata">

**Author:** ![Ton\_B](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ton_b/32/10723_2.png) [@Ton\_B](https://community.homey.app/u/Ton_B)\
**Post date:** [October 2, 2026, 6:40am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1419 "2026-10-02T06:40:33Z")

</div>

Hi, thanks for replying!

Answers:

- Google Chrome (seems it doesn’t support Kiosk mode on Android)
- Just a cheap Chinese Android 15 tablet
- Yes, it is. 800x1280

---

<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 2, 2026, 7:30am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1420 "2026-10-02T07:30:08Z")

</div>

Possible solution:  
Fully Kiosk is not a mode but a genuine, standalone Android app available at [https://play.google.com/store/search?q=fully%20kiosk&c=apps&hl=nl](https://play.google.com/store/search?q=fully%20kiosk&c=apps&hl=nl). The free version offers sufficient features to display a dashboard without tabs or a URL bar, and allows the entire dashboard to be shown by adjusting the zoom level.  
Fully Kiosk: Settings → Web Zoom and Scaling → Initial scale: set this to 100% (the option above Initial scale, “Use Wide Viewport”, must be disabled).

The Chrome browser on Android does not appear to have a built-in option to hide tabs and the URL bar, leaving only the zoom option. On my tablet, this option does not go below 50%, which still fails to display the entire dashboard. Alternative (not the best): define your dashboard in a lower resolution.

---

<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 2, 2026, 7:30am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1421 "2026-10-02T07:30:26Z")

</div>

My guess is that a Display Scaling / DPR (Device Pixel Ratio) has been adjusted inside your tablet. Even though the tablet’s physical panel is 800 x 1280, mobile browsers can apply a display scaling factor (often 1.25×, 1.5×, or higher)

Simple fix would be to change the “Layout Mode” (in the Dashboard Environment) to “Scale to Fit Screen”

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

Or change the Display Scaling / DPR inside Android. (I have no idea how, probably somewhere in the display settings or accessibility options.

---

<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 2, 2026, 7:31am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1422 "2026-10-02T07:31:53Z")

</div>

> [@Amersfoort](#):
>
> Could you take a look at the y-axis scaling on the line graphs? The intervals are sometimes irregular, which is unusual and creates a misleading impression of the graph values.

I shall take a look at it.

---

<div class="post-metadata">

**Author:** ![Ton\_B](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ton_b/32/10723_2.png) [@Ton\_B](https://community.homey.app/u/Ton_B)\
**Post date:** [October 2, 2026, 7:44am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1423 "2026-10-02T07:44:38Z")

</div>

I don’t seem to have that option. I’m using the stable version v1.11.7.

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

---

<div class="post-metadata">

**Author:** ![Ton\_B](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ton_b/32/10723_2.png) [@Ton\_B](https://community.homey.app/u/Ton_B)\
**Post date:** [October 2, 2026, 7:50am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1424 "2026-10-02T07:50:56Z")

</div>

Perfect, that works! Thanks a million! Now, I’m off to design a nice dashboard for my 100% Homey environment.

---

<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 2, 2026, 7:51am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1425 "2026-10-02T07:51:10Z")

</div>

> [@Freek6952](#):
>
> If I choose that, a screen with the default Apple icon appears (fig. 3)

> [@Freek6952](#):
>
> ![IMG_0537](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/f/6f0d0872ac7e9275bf57243d7afcf15f5881eb99.jpeg)

Thanks for the screenshot! Looking at it, I just noticed you’re using a security token. My guess is that the iPad or iPhone is trying to fetch the icon image without the token and gets denied access.

Please don’t try testing it without the security token, though. I’ll get (try) this edge case fixed in the next version so you can give it another go. I tested it on my end with a security token, but it’s likely just loading the image from cache from an earlier session where I didn’t use one, which is why it seemed to work fine for me.

---

<div class="post-metadata">

**Author:** ![Ton\_B](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ton_b/32/10723_2.png) [@Ton\_B](https://community.homey.app/u/Ton_B)\
**Post date:** [October 2, 2026, 7:55am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1426 "2026-10-02T07:55:09Z")

</div>

And one other question: I’m using a vertical gauge to display the power output of my home car charger. It does display the correct power when charging but the colored bar goes all the way up to 11KW (max. power of the charger), where the actual output is just 3.7kW. So, the bar doesn’t scale to reflect the power value. Any idea?

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/2/721ab842383339d382fbdae11208dd04206e3d06.png)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/a/8a2be76d5ebad0f5c3e36d361394470c76548d76.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 2, 2026, 8:16am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1427 "2026-10-02T08:16:16Z")

</div>

You need version 2.x for that option. That version is stable (officially still in testing phase), so if needed, you could update to that version.

---

<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 2, 2026, 8:21am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1428 "2026-10-02T08:21:22Z")

</div>

> [@Ton\_B](#):
>
> It does display the correct power when charging but the colored bar goes all the way up to 11KW (max. power of the charger), where the actual output is just 3.7kW.

My guess is that the value that is being send is in Watt, not in kilo  
Watt. So the “Max” should be 11000 instead of 11

You can see the actual data that comes in, in the Data Stream Explorer in the main settings (click an empty space on the canvas to see these):

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/c/4c2f2ee59d6d15060a049ab8210f5f8b04166dfc.png)  
(Note: this is a V2 screenshot, but it is also available in V1)

---

<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 2, 2026, 4:21pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1429 "2026-10-02T16:21:55Z")

</div>

Hello,

I’ve run into an issue. In my dashboard, I created switches to turn lights on and off using the Light Grid widget, and these work exactly as expected.

I also added a floor plan of my house as an image in the dashboard, with a layer of light icons positioned on top of it. These icons should turn on/off or change color when I operate the corresponding light switch. I created this using the Switch widget.

When I press the button on the Switch widget (configured as a Toggle Switch), the corresponding control in the Light Grid widget also turns on and off correctly. However, when I switch the light on or off using the Light Grid widget, the Switch widget does not update its state accordingly.

Both widgets are configured to use the same `.../light_state_json` data source.

Could you help me understand how to get this working so that both widgets stay synchronized and always reflect the actual state of the light?

 ![9E5154A8-3C61-4BF6-BF31-5F892A32BE72_4_5005_c](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/6/56b1183a275051ecc3ee7badda22dff877e1678e.jpeg)

---

<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 2, 2026, 5:40pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1430 "2026-10-02T17:40:03Z")

</div>

Hi Gunther,

I am a bit surprised you can switch the light on and off using the “light\_state\_json”. That should really only work when you send a “[light\_state\_json](https://satoer.com/dashboardstudio/?docs=Data+Types+%26+Formats&widget=unified-light-state)” to it. Did you add the JSON objects ` { "state": "ON" }` and ` { "state": "OFF" }`

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/f/dfe69fba18a8698adad738a797c16d8523beb479.png)  
into the ON / OFF values to make this work?

Anyway, to toggle the switch and have it reflect the state of the light as well, you should enable the “turn on” capability of the light:  
 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/4/943ef134567cffaa18330ba867561749a2e8e54a.png)  
Hit “Copy Topic” and use that topic in the switch widget’s `Output Topic` and `State (On/Off)` fields (you will need to make this dynamic first). (On Value should be True, Off Value should be False)

Does this solve the problem?

---

<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 2, 2026, 6:35pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1431 "2026-10-02T18:35:22Z")

</div>

Thanks for the replay, i will try tomorrow.

And yes, i added yhe json objects, forgot to tell!

---

<div class="post-metadata">

**Author:** ![Viger\_Ostensen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/viger_ostensen/32/166440_2.png) [@Viger\_Ostensen](https://community.homey.app/u/Viger_Ostensen)\
**Post date:** [October 3, 2026, 6:48am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1432 "2026-10-03T06:48:14Z")

</div>

**Feature Request: Page-specific Inactivity Timeout**

I apologize if this already exists and I simply haven’t found it in the documentation or forum discussions.

I use Dashboard Studio on a wall-mounted touchscreen and would like pages to automatically return to another page after a period of inactivity.

Suggested page settings:

- Enable Inactivity Timeout: Yes / No
- Return to Page: [page selector]
- After Inactivity: [seconds]

**Example configuration:**

**Home Page:**

- Inactivity Timeout: Disabled

**Lights Page:**

- Return to: Home Page
- After: 60 seconds

**Heating Page:**

- Return to: Home Page
- After: 120 seconds

**Settings Page:**

- Return to: Home Page
- After: 600 seconds

**Important:**

The inactivity timer should be reset by any user interaction, not only page navigation.

Examples of interactions that should reset the timer:

- Button presses
- Slider movements
- Menu selections
- Text input
- Page navigation
- Any touch/click on the page

**Reason:**

A timer that only starts when entering a page is not sufficient. If a user stays on a page and continues interacting with controls, they can still be forced back to another page while actively using the dashboard.

For example, imagine a lighting page with a 60-second timeout. A user may spend several minutes adjusting dimmers and colours without changing pages. In that situation, the timeout should continue to reset with every interaction and never trigger while the user is actively using the page.

**Timeout Behaviour:**

When a page is changed automatically because of an inactivity timeout, the destination page should become the active page and manage its own inactivity timer.

**Example:**

**Advanced Settings:**

- Return to: Room Settings
- After: 60 seconds

**Room Settings:**

- Return to: Lights
- After: 60 seconds

**Lights:**

- Return to: Home Page
- After: 60 seconds

In this example, if the user leaves the dashboard untouched while on Advanced Settings, navigation would occur automatically as follows:

Advanced Settings → Room Settings → Lights → Home Page

with each page applying its own inactivity timeout.

This creates a natural cascading behaviour for multi-level navigation structures, allowing a dashboard to gradually return to its home screen when no one is using it.

For wall-mounted dashboards this would be especially useful because it allows detail and configuration pages to be accessed when needed while ensuring the display eventually returns to the primary dashboard view, clock view or information screen without requiring a browser refresh or dashboard reload.

**Alternative implementation:**

As an alternative or addition, Dashboard Studio could expose an “Inactivity Timeout” event. This would allow users to create custom behaviour using Flows, including page navigation, screen changes, notifications or other actions.

---

<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, 7:31am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1433 "2026-10-03T07:31:39Z")

</div>

> [@Viger\_Ostensen](#):
>
> Feature Request: Page-specific Inactivity Timeout

Nice request! Right now, that is not really possible to do.

It also feels a bit overcomplicated. Why not just three settings in the dashboard environment, something like:  
 Enable Inactivity Page, Page [1], timeout [60]s

I get how you want it to work, but I do not quite understand why every page needs its own timeout setting. Why does it need to step back from Advanced Settings → Room Settings → Lights → Home Page and wait on each page for 60 seconds? Why not just jump straight from Advanced Settings → Home Page? What is the benefit of slowly stepping back through the hierarchy? If someone needed to change an advanced setting, they likely navigated through all those intermediate pages just to reach that goal. Wouldn’t it make more sense for someone returning to the dashboard after a few minutes to simply see the home page again instead of an intermediate sub-page?

A single global return-to-home setting is also so much easier to set up. That is probably what most people want anyway: just jump back home. If it is done on a page-by-page basis, you would have to configure it across every single page. Some people have more than 30 pages 🫣

Anyway, I really like the idea and would love to implement it the way I suggested with a single home-page fallback, but I am curious to hear your reasoning for wanting page-by-page configuration.

---

<div class="post-metadata">

**Author:** ![Viger\_Ostensen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/viger_ostensen/32/166440_2.png) [@Viger\_Ostensen](https://community.homey.app/u/Viger_Ostensen)\
**Post date:** [October 3, 2026, 7:57am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1434 "2026-10-03T07:57:29Z")

</div>

TL;DR: I got carried away ☹

As usual, this started very simple in my mind. I just wanted to get back to my homepage from my three settings pages in case I forgot to press «back».

All I needed for each page was a «go to page 1 on idle» and a timeout. Then I thought - what if … and then that «what if» led to another and so on…

If I’m two or more levels down, I would prefer to go back to my homepage, but smarter people than me might have other needs so i thought, let’s suggest a feature with full flexibility to unleash the full power of the human mind…

---

<div class="post-metadata">

**Author:** ![Ton\_B](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ton_b/32/10723_2.png) [@Ton\_B](https://community.homey.app/u/Ton_B)\
**Post date:** [October 3, 2026, 8:58am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1435 "2026-10-03T08:58:35Z")

</div>

Forgot to thank you as this helped. Must say that I’m really, really thrilled about Dashboard Studio. I’ve been tinkering around with Homey Dashboards on my tablet for too long but that’s really limited and for some reason didn’t have a clue that Dashboard Studio even existed. But, now…the sky is the limit! Thank you so much for building this, highly appreciated!

---

<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, 9:22am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1436 "2026-10-03T09:22:35Z")

</div>

> [@Viger\_Ostensen](#):
>
> TL;DR: I got carried away ☹
> 
> As usual, this started very simple in my mind. I just wanted to get back to my homepage from my three settings pages in case I forgot to press «back».

Haha, that is how whole Dashboard Studio is developed. “I got carried away”. 😅  
Even now, I really want to get V2 stable, so I shouldn’t add any new features until every current bug is squashed. Yet with every update, I keep tossing in new functionality that also ends up needing its own test period. 🥲

> [@Ton\_B](#):
>
> Must say that I’m really, really thrilled about Dashboard Studio.

Thanks 🙂

---

<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, 10:13am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1437 "2026-10-03T10:13:09Z")

</div>

# NEW TEST Release: [Dashboard Studio V2.0.11](https://homey.app/a/com.satoer.dashboardstudio/test/)

2026-10-03

- New: Text Scroll - A Text widget can move its markdown as one block, horizontally or vertically. Choose Loop, Bounce, or Reset, then set speed, reverse, Loop gap, and hold or fade. Only When Text Overflows moves the text only when it does not fit the widget. Auto-Fit, Scroll Overflow Content, and the content-change Animation stay off while Text Scroll is on.
- New: Markdown Blink - Wrap a phrase, table, or callout with [blink]…[/blink] so it fades on and off. Use [blink 1.5] for a slower cycle, or pick a speed from the Blink control in the Full editor.
- Improved: General Interface improvements.
- Fixed: Arrow Direction - A reversed arrow with Head Size 0 now meets the end point.
- Fixed: Smaller Issues - A handful of smaller unreported issues are resolved.

## New: Text Scroll

> [@JESO](#):
>
> Yet another thought: would it be nice to have the option of automatic scrolling text when it does not fit its space? There are already nice animations when the contents changes, so this may be feasible.

> [@JESO](#):
>
> I’d love to see automatic scrolling text within a text widget.

A Text widget can move its markdown as one block, horizontally or vertically.

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/9/39d58c9dc276f51d068f4f45f1f52bd4d40af8d0.jpeg)  
Choose Loop, Bounce, or Reset, then set speed, reverse, Loop gap, and hold or fade. Only When Text Overflows moves the text only when it does not fit the widget. Auto-Fit, Scroll Overflow Content, and the content-change.  
Note: It is not possible to use text scroll and transition animations at the same time. I tried to implement it, but transitioning from scrolling text into a different scrolling text gave me a coding headache 😅  
[See the demo for scrolling text](https://satoer.com/dashboardstudio/demo/editor.html?page=11)

## Blinking text

> [@SergeP](#):
>
> I also wanted to ask whether it’s possible to make text blink in a text widget. The idea is to draw attention to something, such as a birthday displayed for the current day.

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)

---

<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, 2:53pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1438 "2026-10-03T14:53:07Z")

</div>

Hi,

for long time I did an update of Dashboard Studio form 1.7 to 2.0.11 and Safari at my iPAd running on iOS 12.5.8 Dashboard Studio now constantly crashes. Not a chance to start Dashbaord Studio at all. Updated the page at a PC, but it didn’t help. Even basic editor and Demo page are causing Safari to crash. Is it expected not to work with iOS 12 anymore?

Thanks

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

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