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

Another question I have if I easily can create a single slider to control the volume of a Sonos group of speakers instead of 1 slider per speaker.

Or do I need to create a virtual device an control the volume via flows on that virtual device?

Sure you can tweak it however you want. You need to experiment with all the settings. Although I don’t think you can move the unit to another location, but if you really want it to be on the location of your example you can just hide it and put a label on top of it.

You can see examples on the gauge page of the demo dashboard.

No need to create a virtual device, there is a THEN card in Dashboard studio that accepts a topic from Dashboard studio:

Go into the settings and pick a custom (unique) name, I went with “SonosVolumeChange.” Add that to the slider’s output topic. Whenever you move the slider, the “THEN” card will trigger. That card holds three tags: a boolean, text, and a number, as it tries to convert the value into all three formats whenever possible. Just link the number tag to the volume setting for each speaker and you are good to go. I actually used a curtain for my setup since I didn’t have a speaker in my Homey connected. Just be sure to set the slider’s minimum and maximum to the correct range for your volume. For instance, if it’s like light brightness where the range is 0 to 1, you will definitely want to configure the slider fractions accordingly.

1 Like

NEW version! 1.3.3 in TEST

Changed the insight output, the time intervals between the values are now exactly the same. Sadly, it keeps the start and end time that Homey returns. So 24 hr, is not exactly 24hr.

I added SVG (With animation support) to the image widget. Of course you could already load svg’s using the URL method, but now it also supports SVG in text files directly. This way you can send an svg from Homey directly (as a text string)

This is now automatically:

When the mode is on “Toggle Switch” and the “On Click” is on “Go To Page” it automatically changes the ON/OFF state to enabled if it is on the correct page. (Note: Make sure the button is visible on all the pages you want it to be visible by adding the pages in the “Page(s)” setting of the button widget)
Now you can change the style of the button automatically without using extra Homey logic :partying_face:

Full changelog

1 Like

That SVG looks very promising! A few questions:

  • which tool do you recommend using to create the SVG?
  • how to integrate Homey data or API data into the SVG?
  • is CSS available in SVG?

Could you give some background info about an use case, because I do not understand the original request?

@Satoer your last features look great.

I will be back soon to test everything. A little bit afk the previous weeks cause right hand surgery (my hand using my mouse :wink: and actually in Japan for 3 weeks holidays.

Thanks again to be so attentive to your users request.

For example in the Case of Yann:

He wanted the color of the button to be changed based on the page that was displaying (buttons on the left)

Or in your case:

I see 3 buttons on top of the page. The middle one is yellow. With this new update you can do this automatically. Just add 3 buttons on your page (and make al 3 of them visible in page [1,2,3], and when the button detects that it is on the page that is configured, it sets the button state automatically on “enabled” (pressed). No need for Homey logic in the back-end.

1 Like

Thank you for pointing that out. I was familiar with that part and use it alredy to exactly size and position objects.

What I meant was that:

  • I has some difficulties to excactly align all numbers of the x-axis of stacked graphs. But maybe I had one setting not exactly the same for both.
  • I tried to ease the x-axis “set-up” for stacked graphs by use one graph for the x-axis and have less values shown for the others. But I think that that made it even more difficult. But it can be a tedious to have all settings exactly the same for 2 (or more) graphes stacked :slight_smile: One setting is easily overlooked.

I tried somesettings again and found out what gives issues in aligning the x-axis labes. It is an issue when combining bar chart with a line. So choosing for either line or bar infuences the exact placement of the values on the x-axis.

The next 2 examples show this. These are exactly the same graph and I only switch one of the two from bar to line. Note the values of the x-axs switching from sharp (exactly aligned) to become blurry (not good aligned).

I tried to show the dashboard on an old iPad Air Model A1474 (2014).
iOS version: 12.5.8
It only displays the message: [LOADING SYSTEM…]

I used Safari and Chrome.

Is it too old, or can I make some settings changes to make it work?

At the moment, I am using it to show my Node-Red dashboard and don’t want to buy a new one just for displaying the new dashboard, if not really necessary.

I’m using it without any issues on an old iPad Air 2 also from 2014 and it runs fine, though it is running iOS 15.8.6.

iOS 12 is definitely getting up there in age. :sweat_smile: Which version of Chrome have you tried using? Also, is there a version of Firefox available in the App Store that still supports iOS 12?

I’ll see if I can make a few tweaks to get it working on iOS 12, but I can’t promise anything. I might need you to help me with some testing since I don’t have an iOS12 device to test it on myself.

@Satoer Browsers on iOS and iPadOS all use the same WebKit engine underneath so you should be good testing it just in Safari :slight_smile:

I do not think Apple is keeping the webkit version of an old iPad air 1 up to date. New Safari updates come with the iOS updates. And ios 12 is the latest version on the Air 1. I Did a bit of research and it is using WebKit version 605.1.15, but might be wrong because Apple stopped sending this information to protect the user against fingerprinting.

Ah, I see. But did you leave the x-axis text just to get it aligned? You could just turn off the X and Y labels and scale the graph on its correct location.

I meant that browsers all share the same WebKit engine, the WebKit version is indeed shipped with an iOS / iPadOS update :slight_smile:

I am using Chrome version: 91.0.4472.80 (no newer versions available for this iPad)
I could not install Firefox as the latest version requires iOS version 15.0 or later.
If you can get it working for an older WebKit, then off course I want to assist in testing it.

If it is not possible, then I do understand as it indeed is a pretty old iPad. But for me still good enough to host a node-red dashboard.

How can I make clear with an icon or text that Homey is offline? Homey cannot send a message to Dashboard Studio in that case.

You mean something like this status bar in the editor:

But then inside the dashboard itself? Is this a problem you regularly encounter? My Homey is never offline. :sweat_smile:

Yes, that’s what I mean. My Pro 2026 is sometimes and irregularly offline, and than I wonder why my dash isn’t responding. I ask myself: script or flow not working, let’s check…

I have a stable and fast wifi mesh. Maybe Homey is updating/rebooting at that moment.

@Satoer I would like to define the menu structure in my ~30 dashboards/pages (partially still to be configured) that I want to link. Do you have any idea if, and if so when, you expect to be able to release a pull-down menu object?

Based on this, I can proceed with certain choices in the various screens.

Hi @Satoer Not sure if it’s been a topic before, but I wanted to ask about your ideas/intentions with grouping objects. I know you added locking (which helps :wink: ) but when pixel nudging overlayed widgets, I find myself re-adjusting over and over. Especially when you want to move a group over overlayed widgets, they all snap to grid individually again. Especially with arrows, moving stuff will “break” alignment.
Would you consider adding real grouping, so I could move a grouped item which would respect the relative pixel adjustments? Also, what would really be great, is when I could export/import grouped items. This would enable me to build a library of my own components and, even more important, users of Dashboard Studio could exchange components!