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

Hi.

That fixed it. Thank you very much.

That’s exactly how I envision it. :slight_smile:

Employee adds line/text, it is send back to the dashboard in the list for broken equipment. I’d use separate variables so elements can also me removed/checked when something is fixed. And of course with a flow a new input can also be send to me or whoever.

There’s Homey app (lists) which seems to be doing this but then for a Homey dashboard.

Edit: when using more than one variable I think we’d also solve the memory issue. I assume the dashboard just loads the variable when a refresh happens. And I can clean a variable when equipment is fixed.

I would just use a single Homey text variable to populate the list. The variable just contains a whole array of items. See:

And use simple Homey scripts to remove and add items to the list.

Just a quick note to everyone, yesterday I submitted the current version to be certified by the Homey team. This certification can take two weeks. Sadly I can not release test versions in the mean time. So at worse it is going to take two weeks before I can push a new update with new fixes & features. :sweat_smile:

1 Like

Alright, but isn’t the list gone after a refresh then? Cause I tried this for my check-ins list and only the last check-in was saved. When combining them in one variable I couldn’t get them nicely put on different lines.

So, the only think that should be added for this to work is an input element, right?

The reverse flow also seems to work, tried it with another arrow without arrow-head.

It seems, however, that the status (yes/no variable for item ā€˜visible’ is not loaded when the dashboard is freshly opened. It starts normal and is only changed when the variable is changed (twice, if it was already in reverse when opening) while the dashboard is up and running.

Shouldn’t be a problem for normal dashboard-use, but I also like to take a look now and then when I’m in my car (which has a built in browser, but is closed everytime the car is shut down/closed, so needs to re-open the dashboard when I want to have a look)

I don’t know why I used this approach yesterday. I adjusted it now and it works fine when I directly couple it to the boolean variable. Sending the same boolean variable with the flowcard does only work for True, but not for False. That was what I was testing with all the different flowcards. But this works fine now, so thanks for pointing that out!

It almost never takes that long, in my experience app reviews always happen the next working day at around 08:00-12:00. I’ve never had one take longer than 2 working days.

I can not seem to reproduce this problem. What I tried:

  • Using a boolean variable, enabled in the Dashboard studio configuration and attached to a visibility setting of a arrow widget
  • Using a flow card that sends ā€œtrueā€ / ā€œfalseā€ to a topic attached to a visibility setting of a arrow widget
  • Tried sending ā€œTrueā€ / ā€œFalseā€ and even ā€œTRUEā€ / ā€œFALSEā€

All methods worked as expected. And all methods got correctly cached by the Homey app and transferred when the page reloaded. I do see for a nano-second the arrow, but it basically disappears immediately. I have no idea what the problem might be.
One thing though, I did this test on a personal not released build of dashboard studio and in this version I changed a lot of the code how it handles topics. The next version includes ā€œlocal topicsā€ where a user can send topic values directly to items in the dashboard without going through Homey. This way a button can show another widget directly without the need for simple Homey logic or variables. Anyway, I might have fixed this problem by accident :laughing:

I have been experimenting with the edit box widget, and while it shows great potential, it is not yet ready for release.


Currently, Homey only stores the most recent message, meaning it only displays the last entry upon a reload. However, the list box widget is capable of displaying full arrays. By using a Homey script to push received text into a JavaScript array and storing that array in a Homey variable, you can connect it to the list box to ensure all items persist after a reload.

For more details on implementation, you can view the array formatting guide here.

While capturing and displaying data works well, the main challenge is interactivity: specifically, deleting or checking off items within the list. Since the widget was originally designed for status messages, it lacks built-in controls for data manipulation. But you could use Homey script for these things also.

The main struggle, is that I want to avoid over-complicating Dashboard Studio. I intend for this to remain a dashboard application rather than evolving into a complex website builder with advanced forms and data management. :sweat_smile:

Does this also apply to new apps? I also don’t know which privileges your app requires, but my understanding is that if an app need full permissions, which this one does, as it communicates with every device, tend to undergo stricter review. Anyhow I hope you are correct :slightly_smiling_face:

It might take longer with the homey:manager:api permission. I’ve never built an app that requires the API permission, so I don’t have experience with those. I did build an app that needed the homey:manager:ble permission and that one got reviewed the next working day.

I understand that, but a widget for text input would be great though. I can fix the rest myself with a script or something. :slight_smile:

I can not seem to reproduce this problem. What I tried:

  • Using a boolean variable, enabled in the Dashboard studio configuration and attached to a visibility setting of a arrow widget

  • Using a flow card that sends ā€œtrueā€ / ā€œfalseā€ to a topic attached to a visibility setting of a arrow widget

  • Tried sending ā€œTrueā€ / ā€œFalseā€ and even ā€œTRUEā€ / ā€œFALSEā€

All methods worked as expected. And all methods got correctly cached by the Homey app and transferred when the page reloaded. I do see for a nano-second the arrow, but it basically disappears immediately. I have no idea what the problem might be.
One thing though, I did this test on a personal not released build of dashboard studio and in this version I changed a lot of the code how it handles topics. The next version includes ā€œlocal topicsā€ where a user can send topic values directly to items in the dashboard without going through Homey. This way a button can show another widget directly without the need for simple Homey logic or variables. Anyway, I might have fixed this problem by accident :laughing:

I noticed that my battery stopped responding via it’s API. Seems to be a common problem with this battery. So my issue might have been related to this. (Probably :wink: ) If I have some extra time later today I will check again, but won’t be necessary since you already fixed it in the upcoming version :slight_smile:

Is there some way to set a color value to its default value as an event? I can set hex colors just fine, which is useful for highlighting something for attention, but preferably I would like to reset the color to its theme default value rather than a hardcoded color value sampled from the current theme default. :slight_smile:

EDIT: Never mind, found out. Sending the value 0 appears to set it to the default.

Hi @Satoer Like many others, it’s really hard to stop playing with this :smiley:
As I’m starting to build more complex and ā€œoverlappingā€ objects, I run into the problem that carefully aligned stuff gets ā€œgarbledā€ easily when objects are moved around or are accidentally moved (there is no Undo function).
Would you consider adding a ā€œgroupā€ function that would fix objects relative to eachother?
The below dashboard has many artifacts that consist of layered objects. Being able to group them would be a big help!

1 Like

The group function, really grouping objects, is a good idea. The undo function is also desirable, but will it work with so many dependencies…?

WHOOOHOO!! THE APP IS OFFICIALLY VALIDATED AND RELEASED IN THE APP STORE :partying_face:


Many thanks to everyone for the donations, suggestions and for help finding those bugs!

Haha, I hear you guys!
On the ā€œto-doā€ list:

Edit box widget (Likely coming in the next version)
Local topics (interact with other widgets directly without going through Homey Logic)
Dropdown Widget
Gauge widget with negative value option
Undo / Redo (This will likely only hold a few recent changes)
Copy / Paste to clipboard (To allow moving items across different dashboards)

Group option… though this one is a bit tricky. It requires implementing a hierarchy system within the data files, which would break backwards compatibility. While there is already a migration script to convert old dashboards, this would be a massive structural change. Alternatively, I could take a ā€œdirtierā€ approach by creating a separate section in the data file for linked widgets. The end user wouldn’t notice a difference, but it’s a lot to consider.

I’m also open to suggestions on how a group option should look and how the user interaction should feel. Would a simple Group and Ungroup button suffice?

@Rob_G I see you are using an animated arrow widget with the curved feature. May I ask what kind of device you are using to display the dashboard? Do you notice any performance drop on the dashboard? (A curved arrow uses a different, heavier animation algorithm then a straight arrow / line).

6 Likes

Congratulations! This very stable, comprehensive app is now official!
Weren’t they jealous at Athom that they didn’t come up with such an app themselves? Or is their strategy to keep it as simple (and perhaps therefore limited) as possible?

@Satoer (congrats on having the app approved!)
Yes, I use animated arrows. I cleared the arrow head and made them angled. The colors and direction change according to the positive (deliver current to the grid) or negative flow (drawing current from the grid). I also control the speed of the animation, according to the amount of current that flows. I run it on a samsung 10ā€ tablet. Probably about 5 years old. I don’t see any performance problems with it, yet ;-).

@Satoer While we are talking about todo lists :wink: Would you consider adding support for svg images as the (URL) data source for image widgets?

Yes, ill add it to the list.That won’t be that hard to implement. (he said, moments before everything broke :sweat_smile:)
Can you tell me what your intended use case with it will be?