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

<div class="post-metadata">

**Author:** ![Victor\_Bicknese](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/victor_bicknese/32/177200_2.png) [@Victor\_Bicknese](https://community.homey.app/u/Victor_Bicknese)\
**Post date:** [May 28, 2026, 3:12pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/990 "2026-05-28T15:12:34Z")

</div>

Hi Michel, if I have 4 text “cards” which have each different background colors, depending on their value, do I need 4 different variables to set the color, or can I send the color to “an” ID?

---

<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:** [May 28, 2026, 6:56pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/991 "2026-05-28T18:56:31Z")

</div>

> [@Victor\_Bicknese](#):
>
> do I need 4 different variables to set the color, or can I send the color to “an” ID?

You can send data directly to a Dashboard Studio topic. If you check the “[Tips and tricks](https://satoer.com/dashboardstudio/?docs=Tips+%26+Tricks)” section in the help file, there is a topic “Dynamic Colors: Thermostat Heating Status” that specifically explains how to change colors dynamically without the need for Homey Variables.

Every color setting in Dashboard Studio can also be color corrected. This means that if you send a specific color to a topic, you can still tweak and refine it. It is a great way to create gradients or easily tint elements like highlights while still keeping the original base color intact.

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/6/567dd7c8805aab6c1f9e26f36dd7027699982200.png)

---

<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:** [May 28, 2026, 6:58pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/992 "2026-05-28T18:58:59Z")

</div>

> [@Cor\_Brink](#):
>
> In the previous version it worked ok, but now the color remains green.  
> What is wrong?

I will investigate this problem 👍

@Amersfoort I will investigate the issues also, and overthink your requests.

---

<div class="post-metadata">

**Author:** ![Victor\_Bicknese](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/victor_bicknese/32/177200_2.png) [@Victor\_Bicknese](https://community.homey.app/u/Victor_Bicknese)\
**Post date:** [May 28, 2026, 7:32pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/993 "2026-05-28T19:32:39Z")

</div>

Ah, I missed this. Sorry. Looking into it!

---

<div class="post-metadata">

**Author:** ![Cor\_Brink](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cor_brink/32/121519_2.png) [@Cor\_Brink](https://community.homey.app/u/Cor_Brink)\
**Post date:** [May 28, 2026, 8:14pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/994 "2026-05-28T20:14:07Z")

</div>

Also, in the gauge, you made a decimal option. That only works on the gauge itself, but not in the value field beneith it.  
Maybe you can look into that too.

 ![Schermafbeelding 2026-05-28 221151](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/3/43ca7bd14810bab4922d927cca72ecbdb7c31c7b.png)  
 ![Schermafbeelding 2026-05-28 221203](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/7/a75380465a2fb43c9ad1eef63735a18265c31f03.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:** [May 29, 2026, 5:59am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/995 "2026-05-29T05:59:08Z")

</div>

In version 1.9.3 there are more options than you are showing:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/2/52e3ef99ba46843a56f4a39c1170526b05578938.png)  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/4/a4165cf7e34851eb239aac48c5a51c6d7dcbff58.png)

---

<div class="post-metadata">

**Author:** ![Cor\_Brink](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cor_brink/32/121519_2.png) [@Cor\_Brink](https://community.homey.app/u/Cor_Brink)\
**Post date:** [May 29, 2026, 6:32am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/996 "2026-05-29T06:32:10Z")

</div>

@Amersfoort  
My version is 1.8.9  
The automatic update is on, but it is still 1.8.9  
How can I update it manualy?

---

<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:** [May 29, 2026, 6:39am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/997 "2026-05-29T06:39:19Z")

</div>

Use the normal app url and extend this with /test. So the full url of a test version is [https://homey.app/nl-nl/app/com.satoer.dashboardstudio/Dashboard-Studio/test/](https://homey.app/nl-nl/app/com.satoer.dashboardstudio/Dashboard-Studio/test/).

Push install button to get the latest test version. Even the test versions of Dashboard Studio are stable.

---

<div class="post-metadata">

**Author:** ![Cor\_Brink](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cor_brink/32/121519_2.png) [@Cor\_Brink](https://community.homey.app/u/Cor_Brink)\
**Post date:** [May 29, 2026, 7:26am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/998 "2026-05-29T07:26:40Z")

</div>

@Amersfoort  
Thanks for the hints. All problems are solved now with version 1.9.3

---

<div class="post-metadata">

**Author:** ![Cor\_Brink](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cor_brink/32/121519_2.png) [@Cor\_Brink](https://community.homey.app/u/Cor_Brink)\
**Post date:** [May 29, 2026, 7:53am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/999 "2026-05-29T07:53:45Z")

</div>

There are some issues left when making a new label.  
I cannot change upper/lower case, it always goes back to uppercase.  
The Bold checkbox does not work  
The Color wil not listen to a homey link

---

<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:** [May 29, 2026, 9:39am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1000 "2026-05-29T09:39:51Z")

</div>

> [@Jos\_Stultjens](#):
>
> Is it possible to add text to a value which is linked to a device(topic)? For example I want to display the temperature and add °C without creating a specific flow for this.

This is possible using the text widget (once I get it working on iOS 12 again 😅 )  
You can add the toping between {{ and }} Like: `{{sim/temperature}}°C`

Or you can use a gauge widget and disable the icon, bar etc.

> [@Cor\_Brink](#):
>
> Also, in the gauge, you made a decimal option. That only works on the gauge itself, but not in the value field beneith it.  
> Maybe you can look into that too.

Ah, so this was about version 1.8.9? 👍

> [@Amersfoort](#):
>
> Even the test versions of Dashboard Studio are stable.

@Cor_Brink : Still it is a test version 😅 But the risk is low since DS has a build in versioning system to revert back to an old version if something is not migrated correctly (but you should also backup dashboards on your home PC). I will try to solve the bugs as soon as possible. Once the bugs of the test version are fixed I publish it as the stable version.

> [@Cor\_Brink](#):
>
> The Color wil not listen to a homey link

Yes, I noticed this myself also. Colors and dynamic topics tied to to text and icons did not migrate properly. I will fix this, but you probably need to load a pre 1.9.0 dashboard again to fix it. (so changes made in 1.9.3 might get lost, or you need to re-link the color topic’s again.

---

<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:** [May 29, 2026, 3:20pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1001 "2026-05-29T15:20:06Z")

</div>

> [@Amersfoort](#):
>
> is there an option to close the app via a menu (exit function, so not killing the app)?

Can you explain what you mean with this. Close the app? You mean the dashboard? So a button / or other option that closes the website tab or something?

> [@Amersfoort](#):
>
> enable external SVG icons in a Markdown table including color settings, as in other DS wizards (currently I have to paste the complete SVG code, including dimensions and color, into the Markdown).

But you can insert an SVG icon in a Markdown table? (like:

```auto
| Col 1 | Col 2 | Col 3 | Col 4 |
| --- | --- | --- | --- |
| | | ![Image](/images/charging-icon.svg) | |

```

Or do you mean RAW svg code?

> [@Amersfoort](#):
>
> would a “When” card be possible if the DS app is closed or in sleep mode (1 or all devices, but I ultimately use the dashboard on 1 device). Case: I have dozens of advanced flows running that I want to stop when the DS app is closed or inactive ((Android) device is in sleep mode).

It’s complicated. DS is communicating with Homey using websockets. And it is keeping a heartbeat to check if there is still a connection. But I think it might be unreliable to use this to check if a dashboard is still running. Maybe I could create a card like “Dashboard name has become unresponsive for X minutes” so I user can determine it’s own unresponsive time (and limit false triggers like a short wifi disruption of something)

> [@Amersfoort](#):
>
> ow can I prevent the screen from first going to a black error message and then flashing back to the actual image a few seconds later?

I have not experienced this behaviour. So apparently you send an image url to an image widget, but the image is not available yet. But why is that image not available yet? What image are you using from the knmi app? (So I can check the behaviour)

> [@Amersfoort](#):
>
> hourglass to indicate that it takes a moment for the screen to build, for example during retrieving and editing API data

The dashboard does not know beforehand you are going to send data. But you could send a message before you are going to send data? Like I did with my calendar test dashboard:

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/a/7a1acf98ca837c166b1163b4acbabe970933103b.png)

Loading iCal data (especially from a large data set) can take a longer time. So I first send a message to a text widget that it is loading data (it just shows “Please wait” ) and when it had parsed the iCal data I see the actual data.

You could also completely design your own hourglass, and set the visibility to on before the data parsing, and to off after the data parsing?

> [@Amersfoort](#):
>
> after restarting Homey Pro at night, variables that do not mutate frequently are not visible in the dashboard (example: sunrise time).

After a reboot the DS cache memory is empty. If that is the case, it already tries to load the last known values from each device. But data directly send from flow-cards is lost. Can’t you resend these flows with this card:

![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/c/1cb091482243058869c3bda1d362feddbd8a8d0a.png)

(I would put a wait of a couple of minutes after this to be sure DS is also started)  
Or use:

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/b/db22d95a75b7637d964971350b6e44b68140ce69.png)

with DS as App?

> [@Amersfoort](#):
>
> app option setting the decimal as a “.” or a “,”

Noted. I think this should not be a widget setting, but more an overall setting inside the “Dashboard 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:** [May 29, 2026, 9:16pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1002 "2026-05-29T21:16:04Z")

</div>

> [@Amersfoort](#):
>
> Is there a max. cell size on Markdown tables?  
> Example KNMI weather warning (see red box):

I can not seem to recreate your problem. I added lots of text inside a Markdown table just like yours and it seems to handle it fine 🤔

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/d/fdb8dbb11f12c72842840f1f33b69d6e34322180.jpeg)

Does this always happen? If you have a problematic text, can you open up the “Data Stream Explorer” And copy the RAW value and paste it in a code block over here, so I can better investigate the problem?

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/8/a8542b3d89036245f14dab8041ea2b9ec07f0596.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:** [May 30, 2026, 6:18am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1003 "2026-05-30T06:18:03Z")

</div>

> [@Satoer](#):
>
> So a button / or other option that closes the website tab or something?

Yes, I use Fully Kiosk (free version) without buttons, so all screen space can be used by the dash.  
In my dash menu I would like to define a button to close the dash and the Fully Kiosk app to return to Android.

> [@Satoer](#):
>
> But you can insert an SVG icon in a Markdown table?

Everywhere in the app I can define an external image as an icon. When I do the same in a Markdown table, like

```auto
| Col 1 | Col 2 | Col 3 | Col 4 |
| --- | --- | --- | --- |
| | | :ph-user: | |
| | | ![Image](https://cdn.jsdelivr.net/npm/@mdi/svg@7.2.96/svg/account.svg) | |

```

this is the result (goal: dynamic icons related to the weather forecast):

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/0/b0bb083db6540f50092bc17b6c18b5fbbb92311b.jpeg)  
Size, color (no “tint with icon color” option) and position differ from the default Phosphor icons. I have to define the complete SVG myself, including format and color, which is challenging with dynamic icons.

> [@Satoer](#):
>
> Maybe I could create a card like “Dashboard name has become unresponsive for X minutes” so I user can determine it’s own unresponsive time

Sounds like a good solution when the dashboard is getting active or inactive. Please use x seconds, x minutes (and x hours) like cards in other apps do.

> [@Satoer](#):
>
> What image are you using from the knmi app?

I think the script takes some time to get the dynamic urls of the 8 images.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/6/266fde635fd782d0aba022913e8a796f1ef5c523.jpeg)

> [@Satoer](#):
>
> After a reboot the DS cache memory is empty. If that is the case, it already tries to load the last known values from each device

These are data derived from device capabilities, such as sunrise and sunset and the car battery. These values ​​have not changed since the nightly reboot of Homey.  
If I manually restart the DS app again (the app itself, not the dashboard), these values ​​do become visible.

> [@Satoer](#):
>
> If you have a problematic text, can you open up the “Data Stream Explorer” And copy the RAW value and paste it in a code block over here, so I can better investigate the problem?

Raw value, preview raw value and actual result:

```auto
### Toelichting en waarschuwingen

| | |
| :--- | :--- |
| Samenvatting: | In het zuiden kans op een onweersbui, verder vanaag veel zon. |
| Weeralarm: | Code groen: In het uiterste zuiden van Limburg komen vanochtend enkele onweersbuien voor, mogelijk met veel regen in korte tijd en hagel. Er is kans op plaatselijke wateroverlast. De onweersbuien trekken later vanochtend weg. Bij de buien is kans op plaatselijk 20-30 mm regen in een uur tijd en hagel. Uitgifte: 30/05/2026 06:02 uur LT |

```

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/c/2c5694e03fef52ca48d49d2339697b95b63a4139.png)  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/f/6f51ce2ceddffffcc82fdb454e67420f9bb41f43.jpeg)  
I think it is offset related. In screen above the Table text offset Y is 60. Setting this value to 0, I can see all the text:  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/8/b8855c3595192d14e6171a98ebbd9122e57f3f30.jpeg)

Note: I realize that these are first world “problems”.

---

<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:** [May 30, 2026, 8:55am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1004 "2026-05-30T08:55:04Z")

</div>

Using the following code: click on the button and show the selected button value 1, 2 or 3.  
in a lot of times the button click is not giving any response. I can’t figure out why (no difference using global or local variable).

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/6/86e27a525615427688dd86168465fc4e53c1bc86.jpeg)

```auto
{
  "snippetHeader": "Dashboard Studio Snippet",
  "snippetType": "widget-snippet",
  "snippetFormatVersion": 1,
  "version": "1.9.3",
  "source": {
    "dashboardName": "DemoKnop",
    "page": 1,
    "createdAt": "2026-05-30T08:51:30.752Z"
  },
  "master": {
    "currentPage": 1
  },
  "widgets": {
    "switch_845774038": {
      "type": "switch",
      "overrides": {
        "x": 10,
        "y": 90,
        "width": 365,
        "height": 260,
        "zIndex": 20,
        "page": "1",
        "buttonLabel": "1",
        "outputTopic": "DemoKnop",
        "onPayload": "1",
        "icons": {
          "on": {
            "source": "custom",
            "builtin": "ph-check-fat",
            "weight": "fill",
            "customUrl": "",
            "tintImage": false,
            "size": 180
          },
          "off": {
            "color": "#60A5FA"
          }
        },
        "metaName": "Knop1",
        "style": "image-only",
        "labelPos": "bottom",
        "bgVisible": true,
        "glowEnabled": true,
        "bgOpacityStart": 0,
        "bgOpacityEnd": 0,
        "glowColor": "@backgroundAccent",
        "glowOpacity": 100,
        "glowRadius": 40,
        "contentAlign": "center",
        "btnRadius": 40,
        "buttonContentInset": 0,
        "scale": 1,
        "borderColor": "@accentSoft",
        "borderOpacity": 100,
        "borderWidth": 1,
        "bevel": true,
        "mode": "push",
        "cornerRadius": 20,
        "typography": {
          "buttonLabelInside": {
            "offsetY": 0,
            "color": "#E2E8F0",
            "colorOff": "#E2E8F0"
          },
          "buttonLabelOutside": {
            "textTransform": "none",
            "offsetY": 55,
            "fontSize": 30
          }
        },
        "showIcon": false
      },
      "bindings": {}
    },
    "switch_949322008": {
      "type": "switch",
      "overrides": {
        "x": 400,
        "y": 90,
        "width": 365,
        "height": 260,
        "zIndex": 20,
        "page": "1",
        "buttonLabel": "2",
        "outputTopic": "DemoKnop",
        "onPayload": "2",
        "icons": {
          "on": {
            "source": "custom",
            "builtin": "ph-check-fat",
            "weight": "fill",
            "customUrl": "",
            "tintImage": false,
            "size": 180
          },
          "off": {
            "color": "#60A5FA"
          }
        },
        "metaName": "Knop2",
        "style": "image-only",
        "labelPos": "bottom",
        "bgVisible": true,
        "glowEnabled": true,
        "bgOpacityStart": 0,
        "bgOpacityEnd": 0,
        "glowColor": "@backgroundAccent",
        "glowOpacity": 100,
        "glowRadius": 40,
        "contentAlign": "center",
        "btnRadius": 40,
        "buttonContentInset": 0,
        "scale": 1,
        "borderColor": "@accentSoft",
        "borderOpacity": 100,
        "borderWidth": 1,
        "bevel": true,
        "mode": "push",
        "cornerRadius": 20,
        "typography": {
          "buttonLabelInside": {
            "offsetY": 0,
            "color": "#E2E8F0",
            "colorOff": "#E2E8F0"
          },
          "buttonLabelOutside": {
            "textTransform": "none",
            "offsetY": 55,
            "fontSize": 30
          }
        },
        "showIcon": false
      },
      "bindings": {}
    },
    "switch_987771281": {
      "type": "switch",
      "overrides": {
        "x": 790,
        "y": 90,
        "width": 365,
        "height": 260,
        "zIndex": 20,
        "page": "1",
        "buttonLabel": "3",
        "outputTopic": "DemoKnop",
        "onPayload": "3",
        "icons": {
          "on": {
            "source": "custom",
            "builtin": "ph-check-fat",
            "weight": "fill",
            "customUrl": "",
            "tintImage": false,
            "size": 180
          },
          "off": {
            "color": "#60A5FA"
          }
        },
        "metaName": "Knop3",
        "style": "image-only",
        "labelPos": "bottom",
        "bgVisible": true,
        "glowEnabled": true,
        "bgOpacityStart": 0,
        "bgOpacityEnd": 0,
        "glowColor": "@backgroundAccent",
        "glowOpacity": 100,
        "glowRadius": 40,
        "contentAlign": "center",
        "btnRadius": 40,
        "buttonContentInset": 0,
        "scale": 1,
        "borderColor": "@accentSoft",
        "borderOpacity": 100,
        "borderWidth": 1,
        "bevel": true,
        "mode": "push",
        "cornerRadius": 20,
        "typography": {
          "buttonLabelInside": {
            "offsetY": 0,
            "color": "#E2E8F0",
            "colorOff": "#E2E8F0"
          },
          "buttonLabelOutside": {
            "textTransform": "none",
            "offsetY": 55,
            "fontSize": 30
          }
        },
        "showIcon": false
      },
      "bindings": {}
    },
    "text_3673": {
      "type": "text",
      "overrides": {
        "x": 470,
        "y": 440,
        "width": 260,
        "height": 70,
        "page": 1,
        "text": "Knop: {{DemoKnop}}",
        "metaName": "New Text"
      },
      "bindings": {}
    }
  }
}

```

---

<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:** [May 30, 2026, 10:33am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1005 "2026-05-30T10:33:41Z")

</div>

# NEW [TEST Version Dashboard Studio 1.9.4](https://homey.app/nl-nl/app/com.satoer.dashboardstudio/Dashboard-Studio/test/)

- **New:** Text widget — **Wrap Text** option in Text Settings lets you turn line wrapping on or off.
- **Fixed:** Text widget shows again on iOS 12 and other older iPhones and iPads where it was missing.
- **Fixed:** Dashboards upgraded from version 1.9.0 keep icon colors, text colors, and live MQTT color bindings.
- **Fixed:** Label widget — **Bold** , **Italic** , and **Case** settings apply correctly and are kept after saving.

> [@Victor\_Bicknese](#):
>
> ![IMG_8848](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/9/b9168ef8d0819a0bb6faf82447d0748454d14e67.jpeg)
> 
> The auto size works well, but I have still a small issue, I get line breaks where a space is.
> 
> The temperature and humidity are without a /n.

I have implemented a “Wrap Text” option:

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/1/21c52e4b57eecb586bf14eb5734378374ce2721d.png)

If you disable this feature (default on) it does not wrap the text to the next line if it does not fit the container. I also notice the word “Ongeveer” is masked off to the top. My guess it is not using the “Auto-Fit Text to Frame” feature? (Otherwise it should fit the container). You could also play with the padding setting in the “Layout & Dimension” settings

> [@Jos\_Stultjens](#):
>
> Unfortunately the text widget still doesn’t show.

I received the iOS 12 test device (iPad Air 2 still on iOS 12) and I could fix the problem. Everyting in the demo seems to work fine. The performance is a bit slow though, so I do not advise to build large (demo size) dashboards with it.

> [@Jos\_Stultjens](#):
>
> I only tested the Image widget with a custom icon and that does not show a \*.png in the correct size.

Can you check if this problem is also fixed? I did not specifically changed code to fix this problem on iOS 12, but I did changed code that might be related to it. In my testing (the demo file) I did not see any problems with the png’s in the image widget.

> [@Cor\_Brink](#):
>
> After the latest update I have a problem with my labels.  
> I use a dynamic color.  
> First I made de default color green.  
> Then a made a link to my variable.  
> In the previous version it worked ok, but now the color remains green.

Can you test if it works now? In my testing old dashboards with dynamic color settings now migrate properly to 1.9.X. You need to load a pre- 1.9.0 dashboard to migrate it. (You can use the versioning system in the load dashboard from homey dialog). If you already changed a lot to your dashboard and saved it in a 1.9.X version, you need to restore the dynamic colors manually.

> [@Cor\_Brink](#):
>
> There are some issues left when making a new label.  
> I cannot change upper/lower case, it always goes back to uppercase.  
> The Bold checkbox does not work

This is fixed 👍

---

<div class="post-metadata">

**Author:** ![Victor\_Bicknese](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/victor_bicknese/32/177200_2.png) [@Victor\_Bicknese](https://community.homey.app/u/Victor_Bicknese)\
**Post date:** [May 30, 2026, 10:49am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1006 "2026-05-30T10:49:56Z")

</div>

The word wrap off looks great (installed the latest version), thank you!

---

<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:** [May 30, 2026, 11:42am UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1007 "2026-05-30T11:42:37Z")

</div>

Thanks for the test snippet (that really helps a lot). It is not really a bug. You have set it to image only, and when using an image the button area is just the image. If you add an image you see:

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

And only the image itself acts as the clickable “button” area. You can expand this area by adjusting the “Overall Scale Multiplier” or by setting the “Button Label Position” to “Inside bottom,” which makes the entire container (minus the padding) function as a button. Looking back, I really don’t like the “Overall Scale Multiplier” approach. I would much prefer a fixed width and height setting in pixels. However, I can’t easily remove or transform this setting now because it would probably mess up a lot of dashboards. 😅

You are probably want to use it as an invisible button? Would a new “Visual Style” “Invisible” help? That makes the whole button container a button? And in edit mode still show the outlines show you can see them 😅 . Just thinking out loud. Ideas?

---

<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:** [May 30, 2026, 12:42pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1008 "2026-05-30T12:42:44Z")

</div>

Thanks for the explanation, now I understand what is happening.

If I set the “Visual style” to the value “Button (Rect)”, it is clearly visible where the button can be activated. My cursor changes to a “clickable hand” as soon as it comes within the line of a button, even when the text is “Outside bottom”. It is too confusing (for me at least).

The “Button label position” in the example below is set to “Inside bottom”, but it looks like the middle.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/3/53e701fca0771d84a9a3d8b49b027ef5917f77ef.png)  
It seems to me that there is a relationship between the multiplier and the icon. Icon 50 with a multiplier of 2 is just as large as Icon 25 with a multiplier of 4. Perhaps that can be converted to pixel.

I would say that everything within the button coordinates should be clickable (mouse arrow becomes “clickable hand”), so independent of padding, icon size, border thickness, corner radius, bottom label position, multipliers, etc.

> [@Satoer](#):
>
> You are probably want to use it as an invisible button? Would a new “Visual Style” “Invisible” help?

Yes, an invisible button. Preferably no special options for this, unless it is otherwise technically impossible.

---

<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:** [May 30, 2026, 1:30pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/1009 "2026-05-30T13:30:12Z")

</div>

> [@Amersfoort](#):
>
> The “Button label position” in the example below is set to “Inside bottom”, but it looks like the middle.

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

😉

> [@Amersfoort](#):
>
> It seems to me that there is a relationship between the multiplier and the icon. Icon 50 with a multiplier of 2 is just as large as Icon 25 with a multiplier of 4. Perhaps that can be converted to pixel.

Yes, but icons are also related etc. Have to think about this.

> [@Amersfoort](#):
>
> I would say that everything within the button coordinates should be clickable (mouse arrow becomes “clickable hand”),

I think it should behave like it is now. Only when the mouse pointer is actually on the button or image it should light up and accept clicks. Just never occurred to me that users wanted invisible buttons 😅

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

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