[Beta] Dashboard Layout Studio — Visual Editor for Hubitat Dashboard v1 Layouts
This project is a GUI version of the Dashboard Tile Utility CLI Tool. (https://github.com/imdrewsf/Dashboard-Tile-Utility)
Latest version: 1.1.394 beta 2020702
While the CLI has a few exclusive features, this app is much more capable.
The app is a single html file. To use all the capabilities of the app, it needs to be hosted by the hub. (Upload into the file manager and click the link). It can be used when loaded externally with some features disabled. No cloud access is used.
Project Links
Features at a Glance
Visual Layout Editing
-
Select tiles visually on a grid.
-
Select individual tiles, multiple tiles, clusters, rows, columns, or rectangular areas.
-
Move tiles or groups of tiles.
-
Drag selected tiles to new locations.
-
Copy and paste tiles within the same dashboard.
-
Copy tiles between dashboards.
-
Resize selected tiles.
-
Resize tiles by dragging tile corners.
-
Resize all selected tiles while preserving spacing.
-
Resize nested/container tile groups while preserving internal layout.
-
Insert or delete rows and columns.
-
Clear tiles while leaving empty space.
-
Trim unused layout space.
-
Undo and redo layout edits.
-
Undo all changes back to the loaded layout state.
Tile Copying and Dashboard Merging
One of the main reasons I created this was to make it easier to duplicate or reuse dashboard sections without rebuilding everything by hand.
Dashboard Layout Studio can:
-
Duplicate tiles inside a dashboard.
-
Copy tiles from one dashboard to another.
-
Paste copied tiles into a different layout.
-
Assign safe new tile IDs automatically.
-
Avoid conflicts with existing tile IDs.
-
Duplicate tile-scoped custom CSS when tiles are copied.
-
Retarget copied CSS to the new tile IDs.
-
Validate copied tile devices against the destination dashboard.
-
Warn when copied tiles use devices not selected for the destination dashboard.
This is especially useful for dashboards with custom CSS, because duplicating a styled tile manually usually means finding and editing every related #tile-123 CSS rule.
Spacing and Resize Tools
Dashboard Layout Studio includes layout cleanup tools that are difficult or unavailable in the built-in dashboard editor.
-
Set uniform spacing between tiles or tile groups.
-
Increase existing spacing.
-
Decrease existing spacing.
-
Preserve tile clusters and nested groups.
-
Unstack overlapping tiles and spread them out.
-
Enlarge all tiles while preserving layout relationships.
-
Reduce all tiles while preserving layout relationships.
-
Resize selected tiles to an exact size.
-
Push surrounding layout to make room.
-
Pull surrounding layout to close gaps.
-
Preserve spacing between resized tiles.
These tools are useful when a dashboard has grown over time and needs to be realigned, enlarged, spaced out, or reorganized.
Device Management
Dashboard Layout Studio includes tools for reviewing and managing tile device assignments.
-
Show device IDs assigned to each tile.
-
Show hub device names when available.
-
Identify invalid device IDs.
-
Identify valid hub devices that are not selected for the dashboard.
-
Highlight invalid device assignments.
-
Highlight valid-but-unselected device assignments.
-
Reassign tile devices.
-
Add devices to the dashboard’s selected-device list.
-
Remove unused devices from the dashboard’s selected-device list.
-
Unassign invalid tile devices.
-
Warn before saving if tile devices are not selected for the dashboard.
This is useful when copying tiles between dashboards, importing JSON, or cleaning up older dashboards.
CSS Tools
Dashboard Layout Studio includes CSS tools for dashboards that use custom styling.
-
View tile-scoped CSS by tile.
-
Edit custom CSS associated with a selected tile.
-
Duplicate tile-scoped CSS when copying tiles.
-
Remove tile-scoped CSS when tiles are removed.
-
Detect duplicate CSS declarations.
-
Detect conflicting CSS declarations.
-
Find orphaned tile CSS rules.
-
Consolidate repeated selector rules.
-
Optionally preserve removed or changed CSS as comments.
-
Format custom CSS.
-
Compact custom CSS.
CSS Cleanup detects:
| Issue Type | Description |
|---|---|
| Conflicts | The same selector/property has different values. |
| Duplicates | Repeated declarations resolve to the same value. |
| Consolidation | Repeated selector rules can be combined. |
| Orphans | Tile-scoped rules reference tile IDs no longer present in the layout. |
JSON Editor
For users who still want direct JSON access, Dashboard Layout Studio includes a built-in JSON Editor.
-
Edit full dashboard JSON.
-
Edit
customCSSseparately. -
Edit
customHTMLseparately. -
Edit
customJSseparately. -
Validate and format JSON.
-
Validate and format custom CSS.
-
Compact custom CSS.
-
Load JSON into the editor.
-
Copy formatted JSON or field content.
-
Download JSON or field content.
-
Review Tile Devices.
-
Review Dashboard Devices.
-
Apply JSON changes back to the working layout.
-
Preserve hub context when replacing a hub-loaded layout through the JSON editor.
The visual editor and JSON editor are designed to work together.
Online and Offline Layout Editing
| Feature | Online Mode | Offline Mode |
|---|---|---|
| Load dashboard layouts directly from the hub | Yes | No |
| Save layouts directly back to the hub | Yes | No |
| Load layouts from files | Yes | Yes |
| Load layouts from pasted JSON | Yes | Yes |
| Save layouts to files | Yes | Yes |
| Copy layout JSON to the clipboard | Yes | Yes |
| Edit using placeholder tiles | Yes | Yes |
| Edit using rendered dashboard snapshots | Yes | No |
| Hub device-name lookup | Yes | No |
| Dashboard selected-device checks | Yes | No |
| Invalid hub-device detection | Yes | No |
| Add missing dashboard-selected devices | Yes | No |
| Remove unused dashboard-selected devices | Yes | No |
Online Mode means the layout was loaded directly from the Hubitat hub. It does not use the Hubitat cloud. Hub communication is local network communication with your hub.
Offline Mode means the layout was loaded from a file or pasted JSON. Offline layouts can be edited, saved to files, or copied to the clipboard, but they do not have a hub save target.
Simple View and Rendered View
Dashboard Layout Studio has two editing views.
Simple View uses placeholder tiles and is fast for general layout work.
Rendered View captures snapshots of the actual Hubitat dashboard tiles and uses those snapshots inside the editor. This makes it much easier to work with dashboards that rely on custom CSS, icons, hidden labels, colors, overlapping tiles, or compact spacing.
Rendered View requires Online Mode and a dashboard loaded directly from the hub.
Workspace and Undo
Dashboard Layout Studio works as a separate editing workspace.
Changes are not written to the hub until you explicitly save the updated layout. You can experiment, undo and redo layout changes, or undo all changes back to the loaded state before saving.
Installation Summary
-
Download the latest
dashboard-layout-studio.htmlfile from the release. -
Upload it to Hubitat file storage so it is available under
/local/. -
Open it from the hub in a browser:
http://<hub-ip>/local/dashboard-layout-studio.html
Offline use is also possible by opening the HTML file locally and loading dashboard JSON from a file or clipboard.

