The reason I ask is that the dashboard for my heating flow is optimised for a mobile phone display in portrait view. It would be nice to have a dashboard optimised for landscape view as well when viewing from a PC screen. Is there a way to have both?
For starters, you could use uibuilder to provide multiple dashboards - though that doesn't yet have the zero-code layouts that Dashboard has. However, you can have as many pages and instances of uibuilder as you like.
The alternative would be to use CSS to ensure that the layout of the Dashboard is "responsive" to different screen layouts. However, Dashboard is quite complex and I don't know how feasible that will be.
Final note - you really shouldn't need two separate dashboards for the different views, that becomes hard to maintain. Better to get a layout that adapts to different screen sizes.
I have the same question: especially as I have projects turned on. So I have different projects but only one dashboard of each project is accessible, which is kind of strange. Any way to go for different URLs on each project for each dashboard?
I don't believe so. Dashboard is limited. A great tool to get started with but not so good for more complex requirements. If you want flexibility, you need to move over to uibuilder.
You might try FlexDash... You can control the width of the grid on each tab so it's relatively easy to get good layouts on mobile. For one project I used 3-col wide panels and constrained the grid to be from 3 to 9 columns. That creates something like a card layout where the cards flow below one another on narrow mobile displays but lay next to each other on wider displays.
FlexDash works pretty much the same way the regular dashboard works, so the migration is pretty easy. You can also iframe the existing dashboard tabs into FlexDash tabs, so you can migrate little by little...
Thanks I will have a look at uibuilder! Is uibuilder capable of using REDIS as a Store? I dont have access to the file system on our Cloudfoundry environment.
Not currently, it relies on a file system I'm afraid since one of its features is to be able to work with existing web development workflows which generally rely on filing systems.
However, I'm aware that there are Node-RED environments without filing systems and I'd be more than happy to discuss what might be needed. I've never used REDIS - isn't that a key/value store? How could that be used as a virtual file store?
Update: Looks like CloudFoundary can use filing systems:
If you must use a file system for your app because, for example, your app interacts with other apps through a network attached file system or because your app is based on legacy code that you cannot rewrite, consider using volume services to bind a network attached file system to your app. For more information, see Using an External File System (Volume Services).
Alternatively, I assume that you somehow load all of the Node-RED files into the instance on startup so you could include your uibuilder content at the same time - the only issue being how to persist any changes made via the Editor. Quite possibly, we could come up with something that persists changes to REDIS and is able to recover them on restart? Or indeed, a flow that persists changes to your master filing system that I assume you must have somewhere?
Note that front-end code can be edited direct from the Node-RED Editor so remote access to the environment's file system is not required.
uibuilder node allows the creation of custom user interfaces (UI) using HTML, CSS, and JavaScript. It enables you to build dynamic and interactive front-ends for your flows by sending and receiving data to and from the Node-RED backend. The uibuilder node acts as a bridge between the UI and the Node-RED flow, allowing you to manipulate and display data in real-time. With uibuilder, you can create custom dashboards, forms, and other user interfaces to enhance your Node-RED flows' functionality and user experience. On the other hand, the Node-red dashboard is a limited and predefined tool for designing UI. Primarily suitable for quick prototyping. Here is an example of a Node-red uibuilder dashboard.