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

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 2:53pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/488 "2026-03-30T14:53:55Z")

</div>

I have tried the new image refresh interval a couple of times. But each time it made my Synology nas unresponsive for about 5-10 minutes. Will try to do some further testing this evening.  
My setup is a camera in the Synology Surveillance Station added as device in Homey.  
As soon as I copy the url from [Homey Developer Tools](https://tools.developer.homey.app/tools/images) as an image to Dashboard Studio and enable the refresh my Synology nas is unreachable within 10 seconds. (so not the Homey app or device, but the nas itself)

---

<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:** [March 30, 2026, 3:16pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/489 "2026-03-30T15:16:36Z")

</div>

> [@Robin\_Schuurman](#):
>
> It would be great if you could share the HomeyScript. Know my way a bit around, but why re-invent the wheel

Execute the following Homey script after change of artist or track and save the song text in a Homey flow variable:

```auto
// 1. Configuratie & Hardware
const SONOS_ID = 'ce48fa04-xxxx-xxxx-xxxxxxxxxxxxxxxxx';
const LRCLIB_ENDPOINT = 'https://lrclib.net/api/get';
const DEFAULT_TEXT = "Geen songtext gevonden"; // Centraal ingesteld

// 2. Data ophalen
const sonos = await Homey.devices.getDevice({ id: SONOS_ID });
const { 
    speaker_artist, 
    speaker_track, 
    speaker_playing, 
    speaker_duration 
} = sonos.capabilitiesObj;

const artist = speaker_artist?.value;
const track = speaker_track?.value;
const isPlaying = speaker_playing?.value;
const duration = speaker_duration?.value;

// 3. Validatie
if (!artist || !track || !isPlaying) return false;

// 4. Voorbereiding resultaat
let resultaat = DEFAULT_TEXT;

// 5. API Request
const query = new URLSearchParams({
    artist_name: artist,
    track_name: track,
    duration: duration
});

try {
    const response = await fetch(LRCLIB_ENDPOINT + '?' + query.toString());

    if (response.ok) {
        const data = await response.json();
        const syncedLyrics = data.syncedLyrics;

        // 6. Verwerking van Lyrics (indien aanwezig)
        if (syncedLyrics && syncedLyrics.trim() !== "") {
            const verwerkteTekst = syncedLyrics
                .split('\n')
                .filter(line => line.trim() !== "")
                .map(line => {
                    const timestamp = line.substring(1, 6); // mm:ss
                    let text = line.substring(10).trim(); 
                    
                    if (!text) {
                        text = "[instrumentaal]";
                    }
                    
                    return timestamp + " - " + text;
                })
                .join('\n');
            
            if (verwerkteTekst.length > 0) {
                resultaat = verwerkteTekst;
            }
        }
    }
} catch (error) {
    console.log("Fout bij ophalen lyrics: " + error.message);
}

// 7. Opslaan in Homey Logic variabelen
const allVars = await Homey.logic.getVariables();
const myVar = Object.values(allVars).find(v => v.name === 'DSSongtext');
const myVarNL = Object.values(allVars).find(v => v.name === 'DSSongtextNL');

// Altijd DSSongtextNL leegmaken bij een nieuwe actie
if (myVarNL) {
    await Homey.logic.updateVariable({ id: myVarNL.id, variable: { value: "" } });
}

if (myVar) {
    await Homey.logic.updateVariable({ id: myVar.id, variable: { value: resultaat } });
    console.log("Status opgeslagen in DSSongtext. DSSongtextNL is leeggemaakt.");
    return true;
} else {
    console.log("Variabele 'DSSongtext' niet gevonden in Homey Logic.");
    return false;
}

```

Match the song text with the actual play time of the current song. There is even a song text translation option in the code, which needs a separate script (not included here).

```auto
// 1. Configuratie & Performance Caching
const SONOS_ID = 'ce48fa04-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
const CORRECTIE_ID = '88ba3497-xxxx-xxxx-xxxx-xxxxxxxxxxxx'';
const OFFSET_MS = 1000;
const MELDING = "Geen songtext gevonden";

global.myDevices = global.myDevices || {};
if (!global.myDevices.sonos) {
    global.myDevices.sonos = await Homey.devices.getDevice({ id: SONOS_ID });
}
if (!global.myDevices.correction) {
    global.myDevices.correction = await Homey.devices.getDevice({ id: CORRECTIE_ID });
}

const sonos = global.myDevices.sonos;
const correctionDevice = global.myDevices.correction;

// 2. Haal de Sonos data op
let posObj = sonos.capabilitiesObj.speaker_position || { value: 0, lastUpdated: new Date().toISOString() };
const durObj = sonos.capabilitiesObj.speaker_duration;

let manualCorrectionSeconds = 0;
if (correctionDevice?.capabilitiesObj.target_temperature) {
    manualCorrectionSeconds = correctionDevice.capabilitiesObj.target_temperature.value || 0;
}

// 3. De EXACTE berekening
const lastUpdatedUnix = new Date(posObj.lastUpdated).getTime(); 
const driftSeconds = (Date.now() - lastUpdatedUnix) / 1000;
const exactTimeSeconds = posObj.value + driftSeconds + (OFFSET_MS / 1000) + manualCorrectionSeconds;

// 4. Helper functie
const formatTime = (totalSeconds) => {
    if (isNaN(totalSeconds) || totalSeconds < 0) return "0:00";
    const minutes = Math.floor(totalSeconds / 60);
    const seconds = Math.floor(totalSeconds % 60);
    return minutes + ":" + seconds.toString().padStart(2, '0');
};

// 5. Haal songtekst variabelen op
const allVars = await Homey.logic.getVariables();
const vertaalNaarNL = Object.values(allVars).find(v => v.name === "DSVertaalNaarNL")?.value || false;

const targetVarName = vertaalNaarNL ? "DSSongtextNL" : "DSSongtext";
const songtextVar = Object.values(allVars).find(v => v.name === targetVarName);

if (!songtextVar || !songtextVar.value) {
    return JSON.stringify({ error: "Variabele '" + targetVarName + "' is leeg" });
}

// 6. Bepaal de tekstinhoud (Efficiënte toewijzing)
let lyrics = { vorige_regel: "", huidige_regel: "[instrumentaal]", volgende_regel: "" };

if (songtextVar.value.trim() === MELDING) {
    // Specifieke afhandeling voor "Geen songtext gevonden"
    lyrics = { vorige_regel: "", huidige_regel: MELDING, volgende_regel: "" };
} else {
    // Verwerk tekst naar array en zoek huidige index
    const lines = songtextVar.value.split('\n')
        .filter(l => l.includes(' - '))
        .map(line => {
            const [timeStr, ...textParts] = line.split(' - ');
            const [min, sec] = timeStr.split(':').map(Number);
            return { totalSeconds: (min * 60) + sec, text: textParts.join(' - ') };
        });

    let currentIndex = -1;
    for (let i = 0; i < lines.length; i++) {
        if (exactTimeSeconds >= lines[i].totalSeconds) currentIndex = i;
        else break;
    }

    if (currentIndex !== -1) {
        lyrics = {
            vorige_regel: lines[currentIndex - 1]?.text || "",
            huidige_regel: lines[currentIndex].text,
            volgende_regel: lines[currentIndex + 1]?.text || ""
        };
    } else if (lines.length > 0) {
        lyrics.volgende_regel = lines[0].text;
    }
}

// 7. Eén centrale return voor alle data
return JSON.stringify({
    ...lyrics,
    actuele_speeltijd: formatTime(exactTimeSeconds),
    actuele_speeltijd_sec: Math.round(exactTimeSeconds),
    totale_duur: formatTime(durObj?.value || 0)
});

```

The Homey script “card” is the script above.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/b/6b53f2e623244ae54e3e54e9849270f5086693a1.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:** [March 30, 2026, 3:20pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/490 "2026-03-30T15:20:15Z")

</div>

> [@Amersfoort](#):
>
> Quick question about Menu widget: how to activate icons related to a menu item.  
> Even importing the demo dash on my own Homey, I can see the icon, but icon changes don’t seem to have any effect…

Menu Icons are fixed in test-version 1.5.3 👍 (already pushed in the appstore)

---

<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:** [March 30, 2026, 3:37pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/491 "2026-03-30T15:37:57Z")

</div>

Thank you for the quick response! The icons are visible now in 1.5.3.  
Some time needed to understand and evaluate all new menu options and combinations.

---

<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:** [March 30, 2026, 3:48pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/492 "2026-03-30T15:48:15Z")

</div>

> [@Amersfoort](#):
>
> Some time needed to understand and evaluate all new menu options and combinations.

Yes… lots of possibilities…. But I’m sure you can come up with even more feature request for it 😝

> [@Robin\_Schuurman](#):
>
> I have tried the new image refresh interval a couple of times. But each time it made my Synology nas unresponsive for about 5-10 minutes.

I don’t think this is a Dashboard Studio bug. It seems like the Synology might not be able to handle the data stream. I’ve limited the image polling rate to 5 images per second (0.2), but that might be too high. I personally have mine set to 2 times a second (0.5), though I’m still using the Homey method for sending images. I also pull the images directly from the IP camera rather than routing them through a NAS.

What refresh rate are you using, Robin? Have you tried lowering it to 1 image (or lower) per second to see if that helps?

---

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 3:59pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/493 "2026-03-30T15:59:01Z")

</div>

tried it with 10 seconds. But that was already too much. While with my previous advanced flow it was working fine. But I will first do some further investigation on my side.

---

<div class="post-metadata">

**Author:** ![Rob\_G](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rob_g/32/79108_2.png) [@Rob\_G](https://community.homey.app/u/Rob_G)\
**Post date:** [March 30, 2026, 6:56pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/494 "2026-03-30T18:56:34Z")

</div>

Hi @Satoer Thanks for fixing the grouped stuff while migrating. That stuff seems to migrate OK now.  
There seems to be another small glitch though: In one of the (grouped) switch widgets, I use a custom image. After the migration to 1.5.2 the (custom) icon is much smaller than before, and I can’t seem to resize it anymore. It does no longer respond to the icon size setting.  
The below indicated icons used to be twice as high.

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

---

<div class="post-metadata">

**Author:** ![Rob\_G](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rob_g/32/79108_2.png) [@Rob\_G](https://community.homey.app/u/Rob_G)\
**Post date:** [March 30, 2026, 7:24pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/495 "2026-03-30T19:24:36Z")

</div>

Could it be that there is something wrong with the Menu widget? I can add one, but when I try to set menu icons, they don’t show up. Next, I copy/pasted the menu widget from your example (snark menu). This one does have visible menu option icons. However, when I try to edit them in my own design to another icon, the icon doesn’t change?

---

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 7:25pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/496 "2026-03-30T19:25:24Z")

</div>

Another thing with the button widget now is that if I use the topic for the custom image url it is not working anymore. If I use the same topic with the image widget it is working fine

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/1/e1c885cd0845a92617d332f509567a0171ec7b8b.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:** [March 30, 2026, 7:33pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/497 "2026-03-30T19:33:18Z")

</div>

Please use version 1.5.3 in which the icon issues with the new Menu options have been solved.

---

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 7:34pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/498 "2026-03-30T19:34:35Z")

</div>

> [@Satoer](#):
>
> I don’t think this is a Dashboard Studio bug. It seems like the Synology might not be able to handle the data stream. I’ve limited the image polling rate to 5 images per second (0.2), but that might be too high. I personally have mine set to 2 times a second (0.5), though I’m still using the Homey method for sending images. I also pull the images directly from the IP camera rather than routing them through a NAS.
> 
> What refresh rate are you using, Robin? Have you tried lowering it to 1 image (or lower) per second to see if that helps?

I reproduced the issue.

Create an image widget. Add the url. Enable refresh (tried 1 up to 10 sec).  
This works fine.  
Now resize the image widget. This immediately makes my synology unresponsive.  
The nas is not rebooting, but is just not reachable for about 10 minutes.

---

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 7:37pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/499 "2026-03-30T19:37:10Z")

</div>

Thanks man!  
I will give it a try

---

<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:** [March 30, 2026, 7:40pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/500 "2026-03-30T19:40:32Z")

</div>

> [@Rob\_G](#):
>
> There seems to be another small glitch though: In one of the (grouped) switch widgets, I use a custom image. After the migration to 1.5.2 the (custom) icon is much smaller than before, and I can’t seem to resize it anymore. It does no longer respond to the icon size setting.

I really don’t think this is a migration issue, it’s more about how the new feature is behaving. 😅 I added some internal padding for the images so you can now align the text and icons to the left or right inside the button, rather than just keeping everything centered. The problem was that the text and icons were touching the button borders, which looked pretty terrible. To fix that, I added an internal spacing setting called “Content inset,” though I might need to rename it to “inside padding” or something similar. It defaults to 10px, but if you decrease that value, the icon has room to grow larger again.

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

> [@Rob\_G](#):
>
> ould it be that there is something wrong with the Menu widget? I can add one, but when I try to set menu icons, they don’t show up.

Yes, there was a problem with the menu icons. Already fixed in 1.5.3 (I think you are on 1.5.2).

---

<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:** [March 30, 2026, 7:51pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/501 "2026-03-30T19:51:43Z")

</div>

> [@Robin\_Schuurman](#):
>
> Create an image widget. Add the url. Enable refresh (tried 1 up to 10 sec).  
> This works fine.  
> Now resize the image widget. This immediately makes my synology unresponsive.  
> The nas is not rebooting, but is just not reachable for about 10 minutes.

Oh snap, nice debugging, you are right. I can recreate the problem. It indeed is hammering the request when resizing. I shall fix this 👍

---

<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:** [March 30, 2026, 7:52pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/502 "2026-03-30T19:52:50Z")

</div>

> [@Robin\_Schuurman](#):
>
> Another thing with the button widget now is that if I use the topic for the custom image url it is not working anymore. If I use the same topic with the image widget it is working fine

I shall look into this 👍

---

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 9:26pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/503 "2026-03-30T21:26:58Z")

</div>

> [@Amersfoort](#):
>
> `allVars `

Thanks! Works like a charm.  
In case other people are also interested. I had to make a couple of small changes:  
I removed speaker\_playing from the first script and the CORRECTIE\_ID and DSSongtextNL stuff.  
In the screenshot the jsonhandler had all values in [Eigenschap Pad Nummer 1]. I have split them over Nummer 1 to 6.

But with these minor changes it really works great!

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/2/327816e8a3145b1b127a3644a555130daf02403e.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:** [March 30, 2026, 10:10pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/504 "2026-03-30T22:10:48Z")

</div>

# New TEST release V1.6.0

Updates:  
**New Image Gallery browser:**

 ![afbeelding](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/8/986db683a10e4a4b5aeb4a7c1104a3b1f8271374.jpeg)

Note: This is not a Widget. This is an improved image browser to easier image uploading / deleting / browsing inside the editor.

> [@Amersfoort](#):
>
> Could the image list be made a bit more informative, like adding file name, size, date? The images are far apart. Maybe enlarge the preview a little.

I had already for a while in the making, but needed to fix a couple of quirks first before I could release it 😀

> [@Robin\_Schuurman](#):
>
> Create an image widget. Add the url. Enable refresh (tried 1 up to 10 sec).  
> This works fine.  
> Now resize the image widget. This immediately makes my synology unresponsive.  
> The nas is not rebooting, but is just not reachable for about 10 minutes.

Fixed! Resizing the image widget was constantly resetting the refresh timer, which caused it to keep requesting new images over and over. 😅

> [@Robin\_Schuurman](#):
>
> Another thing with the button widget now is that if I use the topic for the custom image url it is not working anymore. If I use the same topic with the image widget it is working fine

Fixed 👍

@Paul_van_der_Heijden Thanks! 🍻

---

<div class="post-metadata">

**Author:** ![Robin\_Schuurman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_schuurman/32/71552_2.png) [@Robin\_Schuurman](https://community.homey.app/u/Robin_Schuurman)\
**Post date:** [March 30, 2026, 10:31pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/505 "2026-03-30T22:31:00Z")

</div>

Thanks!  
Can confirm that the button widget topic fix and resize of the image widget are working now.

---

<div class="post-metadata">

**Author:** ![Martijn\_C](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijn_c/32/39993_2.png) [@Martijn\_C](https://community.homey.app/u/Martijn_C)\
**Post date:** [March 30, 2026, 10:40pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/506 "2026-03-30T22:40:04Z")

</div>

Yes. The fall back (old) dashboards show that message. They don’t exist as far as I know but for some reason an old version is shown. I can’t even find that old version when searching within the editor.

the things that broke were several, like no vertical center text in buttons anymore (still can’t fix that), broken images and suddenly a black background for containers. Don’t ask me why. 😅

The url in capitals still won’t work Chrome accepts it but immediately makes it without capitals and loads an old dashboard.

I am using a Homey Pro 23, most recent firmware, newest Chrome browser and a MacBook.

---

<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:** [March 30, 2026, 10:53pm UTC](https://community.homey.app/t/app-pro-dashboard-studio-a-completely-free-form-dashboard-designer/151169/507 "2026-03-30T22:53:02Z")

</div>

I have no idea… Could it be the browser was trying to load a cached old version if you use the url method? Can you press CTRL+SHIFT+DEL in the browser, and then delete cashed images and files?  
Might fix the problem

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

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