[APP][Pro] NEW: Dashboard Studio - A completely free-form dashboard designer

I can reproduce this. I need te create a new slider to be able to control another sunscreen. If I copy an existing one and connect the output value of the other suncreen it does not work.

I am unable to reproduce this issue. Here are the steps I took:

  1. I created a slider and set it to vertical mode.
  2. I set the min to 0 and the max to 1.
  3. I enabled fractions because Homey blinds use a range from 0 to 1.
  4. In the Output Topic dropdown, I selected: gordijn-voor/windowcoverings_set
  5. I enabled the dynamic setting for Value and selected the same topic.

When I tested it, the blinds moved correctly. Changing the blinds in Homey also updated the slider position.

Next, I duplicated the slider. I only changed the Output Topic and the Value to: gordijn-achter/windowcoverings_set

This second slider also worked as expected and controlled the other set of blinds.
Did you do something different?

Could you do this for me:

  1. Right click on your dashboard and select Inspect to open the developer tools.

  2. Click the Console tab at the top.

  3. Click the trash icon to clear the existing messages.

  4. Try to reproduce the problem again.

  5. Check if any new error messages appear.

Note: You can ignore the error: ā€œError: Promised response from onMessage listener went out of scopeā€

I am unsure what happens. It seems a bit sensitive if you use the paperclip to unlink an existing topic and link to a new topic. Or maybe I just did not do this correct. What I tried to do:

  1. copy an existing slider
  2. click the paperclip to unlink
  3. click it again to link to a new topic.

But…

If I try again now and copy an existing slider: it works as long as I don’t use the paperclip at all. I just need to type in the new topic name.

I think I found the issue. The output topic can ā€œaccidentallyā€ become unlinked when pressing the link button. Because that field is meant for topics, it still displays topics, but it has switched into value mode (and a value is not dynamic). This is a state it should not be in. Thanks, I will solve this. :+1:

2 Likes

Nice!

Hi @Yann_Liqueur That’s quite amazing what you did with this design. Would you like to share these designs of this with us?

Hi all. I can’t seem to stop playing with Satoer’s app!
Now trying to replace my Homey Dashboard with Dasboard Studio.

Did anyone find a (relative) easy way to show a Buienradar precipitation forecast graph? Like in Homey Dashboard, I like to see a graph of the forecasted rain for the next 6 hours or so.

I’ve been enjoying using Dashboard Studio and have made multiple concepts to date. However over the past few days I’m having trouble loading up old designs.

Due to the fact I enjoy developing these I restarted from scratch yesterday evening and to be sure, I also exported my work.

However, this morning I can neither load the design nor import my previous export. DS either freezes up or goes blank alltogether.

Anybody recognise these issues? I’m on Homey Pro 2023 btw.

Are you running version 1.2.4? I added major improvements for loading large dashboards in that version. Old dashboards migrate automatically, and I just tested this again with a complex dashboard file from over a year ago. It works just fine.

Can you check your version and update it to see if that resolves the problem?

Also, is it possible you tried to use the Import Template option by mistake? Or perhaps you saved the file as a template instead of a dashboard, and are now trying to import that template file as a dashboard?

Or if the dashboard saved is on your Homey: Can you try to load it using the url method?
Just add: HomeyIp:5050/?dashboard=(dashboard name) to the url

Otherwise, please send me your dashboard file so I can take a look.

I am developing it on a Homey Pro 2023. But I also test it on an old Homey (non-pro) 2019. Works fine

Yes, I am actually running version 1.2.4. The strange thing is, an older (but simpler) dashboard upgraded just fine to the new version and actually still works. Actually, one of the dashboards that now doesn’t load anymore worked perfectly fine in the old version.

If I try to load the specific version of the dashboard directly through the URL, I get the following error:

I’ll sent you the dashboard file through a DM.

Hi.
Many thanks for your quick reply :slight_smile:
I have done as described,
In ā€œData stream exploreā€ I can see when I use the ON/OFF or slide function in Homey. (Hue-dining-table/onof - Hue-dining-table/dim)
If I create a switch and use ā€œHue-dining-table/onoffā€ in the output topic, under action and Behavior in the output Topic. then the light turns on and off fine.. But if I create a slider and use ā€œHue-dining-table/dimā€ in the output topic, under action and Behavior in the output Topic. then the light does not dim, it is either completely off, or completely on

Most likely you need to change the max value of the slider in Dahboard Studio. This defaults to 100, but if the light device itself has a max of 1 you need to change this in Dashboard Studio to 1. Additionally check the fraction as well, these are the steps with which you can adjust the slider.

I have a light device which is 100% on with the value 1 and use these settings for the slider in Dashboard Studio:

You can use the Homey Developer Dashboard to check the values Homey (or the device) uses: Homey Developer Tools

I’m impressed with the capabilities and performance of the Dashboard Studio app!

For example a media player for my Sonos:

  • fast volume changes
  • control buttons
  • real time speaker position
  • album image
  • automatic songtext (in my example 3 current lines, the text sung at that moment highlighted) with sync. correction option


Flows and Homey scripts needed to create this.

I have to figure out why the ā€œOtherā€ memory is increasing only using the player above. Memory leak somewhere? Could this be caused by Homey scripts, flows, app or Homey OS?

Nice Amersfoort.
I have no idea what the ā€œotherā€ memory represents, but I regularly check the memory consumption of just Dashboard Studio:


I find that it’s actually very memory-friendly compared to other apps. For example, while the MQTT Hub consumes around 78 MB, Dashboard Studio uses only 43 MB in this example. That’s pretty efficient compared to the other apps, especially considering it performs basically the same background tasks as the MQTT Hub, plus it includes a full web server to host the entire dashboard environment.

To be completely fair, I do restart the Dashboard Studio app regularly for testing, and Homey apps usually see a slight increase in memory consumption over time. I don’t think these are memory leaks, though, it’s most likely just caching features.

It helps that the actual web portion of Dashboard Studio runs entirely on the client device’s memory. Because everything is handled client-side, it doesn’t put a heavy load on Homey’s memory.

Is it also possible to create some kind of input field for the dashboard user?

in my case I want personell to add broke equipment to a list.

@Satoer I ran into an issue when trying to use a Homey boolean to change the state of a button. I did some troubleshooting and found out that the ā€œyesā€ (ā€œjaā€ in Dutch) works, but the ā€œnoā€ (ā€œneeā€ in Dutch does not work.

in the Homey flow below you can see which I tested. The ones with the sticky notes do not work.

I also tried changing the on value / off value for the button, but without succes.

What I want to achieve is that the button stays pressed (for lets say 10 seconds) and than unpresses automatically (after a Homey timer runs out)

I do have it working now by sending "Trueā€ and ā€œFalseā€ as shown in the screen, but it does not work when I send the boolean variable (which changes in state ofcourse)

I think that should be possible. Can you explain your back-end thoughts on how this will be implemented? For example, the personnel types ā€œSpine-Snapper 360 malfunction: The Hydraulic Disc-Squeezer exceeded maximum forceā€ in an edit box, then presses < enter > or a button. Homey receives this and sends it to a Telegram channel? Or maybe it sends it back to Dashboard Studio to add it to a list widget? The list widget has no memory, so a page reload only shows the last malfunction. This could be solved by using Homey Script to add the malfunction to a Homey Variable. Maybe that variable can be loaded directly in the list widget… I am rambling a bit haha, Anyhow, I would like to know your thought process on this.

the widget boolean properties only accept ā€œtrueā€, ā€œfalseā€, ā€œ1ā€, or ā€œ0ā€. This explains why ā€œneeā€ or ā€œneinā€ won’t work. The reason ā€œjaā€ seems to work is likely because the system sees it as a non-zero value and defaults it to true.

I’m still a bit confused about the specific issue you’re facing. In your example, you’re sending the Dutch word ā€œneeā€ directly to Dashboard Studio, which the widget naturally doesn’t recognize. Is there a reason you’re using ā€œneeā€ instead of ā€œfalseā€? Is this just a test, or do you have a specific device or variable in Homey that actually outputs ā€œneeā€?

By the way, you don’t actually need to use a THEN card to send Homey boolean variables to Dashboard Studio. You can read (only Read, not write) them directly from within the configuration settings instead.

I’m trying to have an arrow switching direction (and color) depending on energy consumtion. At this point I succeeded in doing this by putting two arrows on top of each other with their ā€˜visibility’ being triggered by a variable.

These two variable are update using a simple flow in Homey (if power is less then -1 … and if power is more then 1 …).

I think this is a rather busy flow for the homey as I’m trying to reach zero-consumption, but in reality power is constantly fluctuating a few watts below and above zero.

Is there a way to have the visibility, or color, or direction,… to react on the positive or negative value from the Homewizard ? (value visible in Dashboard Studio) ?

Do you think the load on Homey is too big by sending a couple of variables? I personally do not think this should be a problem at all.

Dashboard studio does not do logic. You could adjust a boolean value with an integer, but any other value than 0 would be interpreted as ā€œtrueā€ (even -1)
The way you did it is the best way I think. But there is now a ā€œReverse Flow Directionā€ option in the arrow widget. (introduced in version v1.2.2)


When activated it reverses the flow and uses the:

reverse flow colour. This could simplify your flow.
But… it does not reverse the arrow point… Maybe I should implement that also, sounds like a logical thing it should do.

1 Like

Hi @Satoer
Thanks for the fast response. I don’t know if the workload for the Homey is too much, but it’s up to +/- 20 times a minute that the two variables are switched.
I noticed the reverse flow, but as you stated, it does not reverse the arrow (yet :wink: ).

I’ll keep it this way for now, just playing around… trying some stuff which is out of my league for now, but I’m learning…