Files
ha-dashboard-studio/dashboard_studio/DOCS.md
T
2026-10-31 18:48:32 +01:00

44 KiB
Raw Blame History

Dashboard Studio

A drag-and-drop dashboard builder that lives in its own sidebar tab, with Haven, an Android app that shows the dashboards to everyone in your home.

Admins and everyone else

Dashboard Studio follows Home Assistant's own Administrator setting (Settings, People):

  • Admins (Home Assistant administrators) get three screens, switched at the top right:
    • Dashboard: use your dashboards.
    • Builder: build and change them.
    • Admin: manage the dashboards, choose who sees what, name devices, set up Haven and see who changed what.
  • Everyone else only sees the dashboards an admin chose for them, full screen in kiosk mode, on every device. They can't change anything. Tapping the kiosk corner five times switches between their dashboards (and turns guest mode on or off); there's no way out of kiosk mode. Someone with no dashboard chosen yet sees a short note saying so, which updates by itself once an admin picks one.

This is enforced by Dashboard Studio itself, not just hidden: only administrators can save, see the people and devices or the history, and the connection to Home Assistant only lets everyone else read states and control devices, as Home Assistant itself would. Home Assistant's settings, other apps and its own dashboards stay out of reach.

Everyone with a login sees Dashboard Studio in the Home Assistant sidebar.

The Admin screen

  • Dashboards: every dashboard as a card, with who sees it. Open shows it, Build opens it in the builder, and ⋯ renames, duplicates, shows the version history, shares, exports or deletes it. At the top: a new dashboard, one made from your devices, importing a file, and importing one of Home Assistant's own dashboards.
  • People: everyone with a Home Assistant login. Admins see everything. For everyone else, choose All dashboards or Only these and tick the dashboards, plus the one that Opens first. Everyone else at the top sets this for people without their own choice, and for anyone added to Home Assistant later. Preview shows the dashboards exactly as that person gets them; Stop preview brings you back. Each person can also get their own Theme (it replaces the dashboard's colours on their devices), a Text size (Large or Extra large, handy for grandparents) and a Language. A language chosen on a device itself (under This device) still comes first.
  • Devices: every phone, tablet and computer that opened Dashboard Studio, with who used it, whether it was Haven or a browser, and when. Name a device, give it its own dashboard (that comes before the person's choice, handy for a wall tablet), have admins start it in kiosk mode, or forget it. Send a message to the screens puts a full-screen message on all screens in kiosk mode, or on one named device.
  • Guests: invites for people without a Home Assistant login (see below).
  • Haven app: a QR code to download Haven on a phone, the address to enter in it, and how signing in works.
  • Activity: who changed which dashboard, and when, with a shortcut to its versions.
  • About: the version, what's new and the source code.

Screens pick up what an admin changes, a dashboard or who sees what, within a minute, without reloading.

Guest invites

An invite is a link and a QR code that opens one dashboard on a guest's phone, without a Home Assistant login, until the time you choose: four hours, tonight, 24 hours, until after the weekend, or a week. Guests can only see and control what is on that dashboard; Dashboard Studio filters everything else out. Invites only work on your home Wi-Fi.

  1. Turn guest links on once: in Home Assistant, open Settings → Apps → Dashboard Studio → Configuration, and under Network give Guest invite links a port, for example 8199. Save.
  2. Make a dashboard for guests (lights, the thermostat, the TV), or use one you have.
  3. Open Admin → Guests, fill in who it's for, the dashboard and until when, and choose Make invite. Let your guests scan the QR code.

Under Address for the link, use the address of Home Assistant on your home network, such as homeassistant.local or 192.168.1.20. End stops an invite at once, also on phones that have it open.

Haven, the Android app

Haven shows the dashboards and nothing else: no builder and no Admin screen, for admins too.

  1. On the phone, scan the QR code under Admin → Haven app (or tap Download Haven on the phone itself), open the file and allow installing apps from that source when Android asks (once).
  2. Open Haven and tap your Home Assistant under On this network (Haven finds it on your home Wi-Fi), or enter the address you use for it. On the phone itself, Open in Haven fills it in.
  3. Sign in with your own Home Assistant login, once.

From then on Haven opens straight on your dashboard, full screen with its own icon, and keeps you signed in. It works with plain http addresses too. Kiosk mode keeps the screen on and hides Android's bars. To add another home, such as a holiday home, or switch between them: tap the phone button in the top bar (admins) or the kiosk corner five times (everyone else), then Homes and addresses. An address that doesn't connect isn't kept. If connecting takes long, the loading screen offers to choose another home or address. Android's back gesture closes an open sheet first; with nothing open, it puts Haven in the background. Haven needs Android 7 or newer. The earlier Dashboard Studio Android app is replaced by Haven; you can uninstall it.

  • Several homes: under Change address, Add another home connects Haven to another Home Assistant, such as a holiday home or your parents'. Each home keeps its own sign-in; tap a home to open it, × removes it.
  • Home screen widgets: long-press your home screen, choose Widgets → Haven, and pick a light, switch, scene or thermostat. A tap does what it does on the dashboard; a thermostat gets − and + for its temperature.
  • Quick settings: Haven offers three tiles for Android's pull-down menu. Edit the menu, drag a Haven tile in, and tap it to choose what it controls. Long-press a tile to choose again.
  • Updates: when Dashboard Studio is updated with a newer Haven, Haven offers to install it the next time it opens. Android asks once to allow installs from Haven.

Building

  1. Open Dashboard Studio in the Home Assistant sidebar.
  2. Switch to Builder. Pick widgets from the left panel, drag them anywhere on the grid, and resize from the bottom-right corner. Other widgets move out of the way.
  3. Set up the selected widget in the right panel: entity, labels, icon, thresholds, colors.
  4. With nothing selected, the right panel holds dashboard settings: theme, tile style, colors, background image, grid and kiosk options.
  5. Switch back to Dashboard. Changes save automatically.

Keyboard shortcuts in the builder: arrow keys move, Shift+arrows resize, ⌘D or Ctrl+D duplicates, Delete removes, ⌘Z or Ctrl+Z undoes, and ⇧⌘Z or Ctrl+Shift+Z redoes.

More editing tools:

  • Search at the top of the widget list finds a widget by name. Press Enter to add the first match.
  • Entity fields open a list of your entities with their icon, name, ID and current state. Type to filter by name or ID, use the arrow keys and Enter, or click one.
  • Several widgets at once: Shift-click or ⌘-click (Ctrl-click) widgets to select them together. Drag one to move them all, or use the arrow keys. The right panel can line up their left, right, top or bottom edges, give them the same width or height (that of the widget you clicked last), duplicate them, copy them elsewhere or delete them.
  • Copy to… (in the right panel) copies the selected widgets to another tab or another dashboard.
  • Into a scroll or swipe card: drag a widget onto a horizontal scroll or swipe card; it lights up, and when you let go the widget becomes one of its cards. To take a card out again, open it in the container's settings and choose Take out of this card.
  • Alignment guides: while you drag or resize a widget, pink lines show where its edges line up with other widgets.
  • Presets: Save as preset (in the right panel) keeps a set-up widget under a name. Presets appear at the top of the widget list, on every dashboard; hover one to delete it.
  • Devices not on a dashboard: the top of the widget list says how many of your devices (lights, thermostats, covers, players, cameras, locks, switches and more) aren't on any dashboard yet. Open it to add one to the current tab with the widget that suits it. Also in the ⋯ menu.
  • Touch and hold: holding a widget for half a second shows the details of its entity. Under Touch and hold in a widget's settings, you can make it switch the entity on or off, run an action of its own, or do nothing.
  • Undo history… in the ⋯ menu lists the changes made since you opened the editor, such as Added Light or Moved 3 widgets. Pick one to go back to just after it; redo brings the later ones back.

Look and feel

  • Cards for every screen: each card has a desktop, a tablet and a phone design, applied by itself. On a computer with a mouse, cards are compact with hover states. On a tablet or wall panel (any touch screen, or a screen 641-1100px wide) the type is larger and every button, switch and key is at least 44px, so it can be read and used from across the room. On a phone the same touch sizes sit in a tighter frame, and rows such as a light's colours scroll sideways instead of wrapping. Within that, each card still adapts to its own size: a narrow card puts its figures under the names instead of beside them.
  • How cards look: the answer is the largest thing on each card (the temperature, the battery, Closed), in thin, even figures with the unit in grey. Icons are plain outlines that take colour only when something is on or needs attention; status shows as a pale pill; buttons are flat.
  • Light and dark versions: turn on Switch to a dark or light version with the device under a theme to use a matching dark version of a light theme when the device is in dark mode, and the other way round. System always does this.
  • Theme: System follows your device's light or dark appearance. The other 23 themes are fixed: Light, Dark, Nord, Dusk, Forest, Graphite, Indigo, Rose, Ocean, Sunrise, Lavender, Mint, Sand, Midnight (true black, for OLED screens), Espresso, Ember, Lagoon, Paper, Arctic, Moss, Sakura, Concrete, and High contrast for maximum readability. Text meets accessibility contrast levels in every theme. Changing any color switches the theme to Custom.
  • Tile style: Cards puts every widget on a tile. Outlined draws a thin border instead. Plain removes the cards completely, so widgets sit straight on the background. You can also turn off the background for a single widget under Style → No background.
  • Lights that are on glow: the light card turns warm, or takes on the bulb's color for color lights, and its brightness fills it from the left in a deeper shade. Drag anywhere across a light card to dim it; the switch at the top right turns it on or off, the palette button next to the brightness shows its colors (pick one and they fold away again), and tapping the bulb opens all its settings. A light that can only switch on and off turns on or off when you tap the card.
  • Icons: widgets pick an icon automatically. To change one, click the icon next to the field to open the icon picker (over 130 icons for rooms, appliances, tools and devices, searchable in English and Dutch), type an icon name, or paste an emoji.

Widgets

Heading, entity tile, big value (with warning and critical levels), gauge, light (on/off and brightness), thermostat, history graph (several sensors), clock, weather, entity list, button (runs any Home Assistant action with JSON data), media player, car, calendar, camera, text (with {{ sensor.x }} live values), photos and web page.

Photos and Immich

The Photos widget shows one picture or a slideshow that fades between photos. Tap it to skip to the next photo. Pick a source:

  • Links: paste one or more image URLs, one per line.
  • Immich: tick one or more albums. Both your own albums and albums shared with you appear.

To use Immich, open this app's Configuration tab in Home Assistant. Enter your Immich URL (for example http://192.168.1.20:2283) and an API key, which you create in Immich under Account Settings → API Keys. Restart the app afterwards. The key stays on the server: browsers only receive the photos, never the key. You can also set how often the photo changes, shuffle the order, and show the date each photo was taken.

Calendar

Add one or more calendar. entities to see an agenda of the coming days, grouped under Today, Tomorrow and then dates. Each calendar gets its own color bar. When you show several calendars, each event is also labelled with its calendar's name, so the color isn't the only clue. An event that is happening right now is marked Now. It works with every calendar integration in Home Assistant, such as Google, CalDAV and local calendars. Events refresh every few minutes.

Waste collection (Afvalwijzer)

This card works with the Afvalwijzer integration. Once that integration is set up for your address, the card finds its waste sensors by itself, so there's nothing to configure. To show only some types, pick the sensors under Waste sensors.

  • Next layout: the coming pickup large, with every waste type collected that day as a colored bin. When the pickup is tomorrow, it adds a reminder to put the bin out tonight. Later pickups follow in a list.
  • List layout: every pickup as a row with its type, "Tomorrow" or "In 6 days", and the date.

Bins use the integration's own colors (GFT green, Papier blue, PMD maroon, and so on), and each bin is always named, so the color is never the only clue. Types with no pickup planned are hidden. You can limit the card to a number of pickups, or to pickups within a number of days.

Clock with weather

Pick a weather entity in the clock's settings to show the current conditions and temperature under the time. Today's high and low come from Home Assistant's forecast, refreshed every half hour. Tap the weather to see all its details.

  • Text position: place the time anywhere in the card with the 3×3 grid: top left, top, top right, left, center, right, bottom left, bottom or bottom right.
  • Background image: choose image links (one per line) or Immich albums. With more than one photo the clock fades between them; set how often. Tap the clock to skip to the next photo right away. Darken the image keeps the time readable on bright photos (30% by default), and the text turns white with a soft shadow.

Horizontal scroll and swipe cards

These cards hold other cards. Select one in the builder, pick a card type under Cards and press Add. The new card opens straight away so you can set it up; ← takes you back. Use the arrows to reorder cards, and open a card to change or remove it.

  • Horizontal scroll puts its cards in a row you can scroll sideways, by touch, trackpad or the arrow buttons that appear on hover. Set the card width in pixels, or as the number of cards visible at once (2.5 lets half a card peek out, so it's clear the row scrolls). A single card can get its own width in its settings. Add an optional title. The row keeps its scroll position when something inside it changes.
  • Swipe cards shows one card at a time, filling the whole card. Swipe with a finger or drag with the mouse: the card follows along, resists at the first and last card, and a quick flick is enough. The left and right arrow keys work too. Small dots appear at the bottom while you swipe or hover, and hide again after a few seconds; tap one to jump to that card. It can also move to the next card automatically every few seconds. Touching it pauses that for 20 seconds, and it stops completely when the system's "reduce motion" setting is on.

Cards inside a container work like anywhere else, and appliance cards inside them still hide themselves when the appliance is off. When none of its cards are showing, the container shows a short message: change it with Text when none of its cards are showing, or tick Hide this card when none of its cards are showing to hide the container itself.

Light groups

When the light card points at a light group, the group's own fader sits on top (drag it to dim all the lights at once, the switch turns them all on or off), and under it every light in the group is a fader of its own, filled in that lamp's color by its brightness, with its own switch. Drag a row to dim just that lamp. Tap the bulb at the top for the group's colors and settings. When you pick a group, the card grows to four rows so the list fits. Turn off For a light group, show each light to hide the list.

Tapping a light anywhere else on the dashboard (for example in a room card) opens the same light panel.

To-do and shopping lists

Pick a to-do list (todo.*, such as Home Assistant's shopping list). Add items in the field at the top, tick them off, and swipe an item to the left (or use its delete button) to remove it. Completed items are hidden unless you turn on Show completed items; there's also a toggle in the card.

Who's home

Shows each person (person.*, or everyone when you leave the list empty) with their photo or initials, home or away, how long they've been there or away, and the zone they're in. Choose a grid or a list.

Weather forecast

An hourly strip (temperature, icon and chance of rain) and the next days with highs, lows and rain chance, from any weather entity. Choose hourly, daily or both, how far ahead, and whether to show today's sunrise and sunset (from sun.sun).

Timer

For Home Assistant timer helpers (timer.*). A ring counts down with the time left. Start it with the quick-start buttons (5, 10, 15 and 30 minutes by default, which you can change), and pause, resume or cancel it. When the timer finishes, the card beeps (you can turn that off) and shows that it's done for a minute, or until you tap OK.

Blinds and covers

Lists blinds, curtains or shutters (cover.*) with a position slider, a tilt slider for blinds that tilt, and open, stop and close buttons. Open all and Close all control every cover in the card at once.

Alarm

An alarm panel (alarm_control_panel.*) with its state, a keypad for the code (shown when the panel asks for one), and buttons for the arming modes it supports. Add the doors and windows to check, or leave it empty to check every door and window sensor: open ones are listed, and arming asks for confirmation while something is open.

Notifications

Home Assistant's notifications, with a button to dismiss each one or all, plus available updates (update.*) with a button to install them (after confirmation).

Parcels

Shows the parcels on their way from parcel integrations such as PostNL or DHL, whose sensors keep a list of parcels in their attributes. Each parcel shows its sender or description, its status and when it's expected; parcels coming today are highlighted. Tap a parcel to open its tracking page, when the integration provides one. Parcels delivered in the last two days can be shown too, dimmed.

Air quality

Groups CO₂, fine dust (PM2.5, PM10), VOC and humidity sensors per room, with a green, orange or red dot for each room and each value. A hint says what to do: Open a window above 1000 ppm CO₂, Too humid above 70% humidity, or The air is dry below 30%. Leave the list empty to find every such sensor that is in a room (area) in Home Assistant, or pick sensors yourself.

Water and gas

Pick a water, gas or energy meter (a sensor with a state class total or total_increasing, the same kind the energy dashboard uses). The card shows today's use so far, yesterday's total, and a bar for each of the last days (7 by default) with the average as a dashed line. Water in m³ is shown in litres.

Solar forecast

For the Forecast.Solar integration. Pick the production today sensor and the card fills in tomorrow's and the current power by itself. It shows today's expected production hour by hour (the current hour marked) and the best time to run the washer or dishwasher: the hours in a row with the most sun from now on (3 by default).

Garage and gate

One big button for a garage door, gate or lock, which opens or closes it (or stops it while moving). It asks first, unless you turn that off. Underneath: whether it's open, for how long, and who last opened or closed it, when Home Assistant knows (a person with a user account).

Sports

For the TeamTracker integration, laid out like a match centre: both teams with their logos (or a crest in the team's own colours), their league position and record, and in the middle the kick-off time with how long until it starts, the live score with the match clock and the last play, or the final score. Under it, when TeamTracker has it, a bar with each side's chance to win and the chance of a draw, in the teams' colours; then the venue and town, and the TV channel at the top. Turn on Only show on match days to hide the card on other days. A small card keeps the teams, the time or score and the countdown.

Formula One

For the F1 Sensor integration. Pick the next race sensor and the card finds the standings and results sensors itself. It has Formula 1's own look: carbon black, F1 red and white, whatever your dashboard's theme (choose Look → Theme to use your theme instead). It shows the round, the race in large type, a countdown in days, hours and minutes, the weekend's sessions in your own time zone with the next one marked in red, and tabs for the drivers, the teams and the last race, set like the timing tower: position, the team's colour, the driver's three-letter code and the points.

The logo: the official Formula 1 logo is a trademark, so it doesn't come with Dashboard Studio. To show it, put the logo file in Home Assistant's www folder (for example as f1-logo.svg) and enter /local/f1-logo.svg under Logo image. Without it, a red mark takes its place.

Vacuum

The card shows the robot from above next to its dock, placed by what it is doing: on the dock with a green light while it charges, out on the floor with a dotted path behind it and a turning brush while it cleans, on its way back while it returns, and outlined in red when it is stuck. Above it are the state in words and the battery with a bar. Below it: the last clean (area and time), Maintenance with a bar for every sensor in percent you add under More sensors (filter, main brush, side brush; amber below 15%), the suction power levels, and buttons to start or pause, send it back to the dock and locate it. The smaller the card, the more it leaves out, from the bottom up. Optionally add a map: pick the camera or image entity that your vacuum integration provides (for example Roborock or Valetudo), and it refreshes every few seconds. If the battery level is a separate sensor in your integration, pick it under Battery sensor.

Energy

A live picture of where your power goes. Choose the sensors you have; all are optional except one:

  • Solar power, Grid power (positive when you take power from the grid; tick the box if your meter is the other way round), Battery power (positive while charging, with the same kind of box) and Battery level.
  • Home use, or leave it empty and the card works it out from the others.
  • Totals for today, such as kWh produced and used, shown underneath.

The card shows the sun, the house, the battery and the grid with their power right now, then each flow that is running, largest first, such as Sun to the grid 1.3 kW, with a bar in proportion (sunshine in amber, the grid in grey). The flows add up: what comes from the sun, the grid and the battery is what goes to the house, the battery and the grid. Solar power goes to the house first, then into the battery, and the rest back to the grid. On a square card the four places sit two by two.

Room

Pick one of your Home Assistant rooms (areas) and the card gathers everything in it:

  • under the room's name, what is going on in one line: how many lights are on, motion, and music that's playing; the switch beside it turns all the room's lights off (or on)
  • the room's temperature in large figures and its humidity (the sensors set on the area in Home Assistant, or any temperature and humidity sensor in the room; you can also choose them yourself), and the thermostat (tap it for the climate popup with a dial, −/+, modes, presets and fan modes)
  • open doors and windows, in amber
  • tiles for the lamps, switches, fans, covers and locks in the room; tap one to switch it. A lamp that's on glows in its own color, filled by its brightness

Light groups are left out so each lamp counts once. Add extra entities, or skip the room and list the entities yourself. Hide these entities leaves out anything in the room you don't want on the card (a light in a cupboard, a speaker, a test switch): it isn't counted, shown or switched by the card. The card can have a background photo. Rooms are read from Home Assistant's area, device and entity registries.

Media players

One card can control several players. With more than one, a row of buttons at the top switches between them, and a small animated equalizer marks the ones that are playing. The card starts on whatever is playing. It shows the album art, title and artist, with previous, play/pause and next buttons and a volume slider. A player that is off gets a Turn on button instead. You can hide players that are off from the switcher.

Appliance (washer, dryer, dishwasher, litter box)

At two rows high, a progress ring around the appliance sits beside its name, status, program, the time left and when it will be ready, plus the door and its power or energy use. Taller cards stack the ring on top. Without a progress sensor, progress is worked out from the time left. It works with any integration, such as Home Connect, Miele, LG ThinQ, SmartThings, or a smart plug:

  • Status: a sensor such as sensor.washer_status. Values like running, washing, drying, finished or klaar are recognized.
  • Power: if there's no status, a power sensor works too. The appliance counts as running above the number of watts you set (5 W by default).
  • Time remaining: minutes, hours, or an end time.
  • Progress (%) and Program are optional.

By default the card only shows while the appliance is running or has just finished, and hides itself when it's off.

Home Connect (Bosch, Siemens, Neff, Gaggenau): choose the appliance's Operation state sensor as the status, and the card fills in the rest of the same device by itself: program progress, finish time, door state, active program, the pause, resume and stop buttons, the power switch and alerts (for example rinse aid or salt nearly empty, which Home Connect provides as event sensors that are off by default). Fields you already filled in are left alone. The card understands every Home Connect operation state: running, paused, finished, starts later (with the time it will be ready), action needed, error and stopping; ready and inactive count as off. Program names such as dishcare_dishwasher_program_eco_50 show as "Eco 50". Depending on the state, round buttons appear to pause, resume or stop the program, or to switch the appliance on. While an alert is active, the card stays visible even when the appliance is off.

Litter box

Set Appliance to Litter box for a self-cleaning litter box. The card is compact: it says what the box is doing (Ready, Cleaning…, Emptying, Levelling, Sanitizing or Sleeping) with Clean and the Auto clean switch beside it, and today's visits, the time in the box and your cat's weight in one line below. It fits in one row high, where it all goes on one line; tall cards add a ring on top. On narrow cards only Clean stays.

By default the card only shows when the waste bin is full or something is wrong: it then says Bin full or Check the litter box, with the alert in amber. For this it needs an alert (a sensor for a full bin or a fault, under Alerts) or a status that reports the fault. Untick Only show when the bin is full or something is wrong to see the card all the time. In the builder you always see it.

Tuya (for example the ZEDAR K1200): choose the box's Status sensor and the card fills in the rest of the same device: Excretion times (day) as the visits, Excretion duration as the time in the box, Cat weight, the Manual clean button and the Auto clean switch. Sensors for a full waste bin or a fault become alerts, shown in amber. Not every box offers every sensor, and names can differ; you can always pick the entities by hand. Other brands work too, as long as there is a status sensor.

Car

Point the car widget at whichever entities your car integration provides. Each one is optional:

Field Typical entity
Battery or fuel level (%) sensor.<car>_battery
Range sensor.<car>_range
Charging binary_sensor.<car>_charging
Charging power sensor.<car>_charging_power
Plugged in binary_sensor.<car>_plug
Charge limit (%) number.<car>_charge_limit
Doors lock.<car>_doors
Climate climate.<car>_climate
Location device_tracker.<car>_location
Odometer sensor.<car>_odometer

Two optional extra fields: Time until full (a sensor in minutes or an end time) and Start/stop charging (a switch or button).

The card follows the style of the Tesla app, with two designs:

  • Square (for example 3×4): the car from the front in its own color, with the name and a status such as Charging · Home or Parked · Away at the top left, and a battery icon with the charge level and range at the top right. Plain icon buttons lock or unlock the doors (orange while unlocked), switch the climate, start or stop charging and show the location. The battery bar runs along the bottom, with the charge limit marked; while the car is plugged in it turns green and shows the charging power, the time left and when it will be full. A tall square card adds rows for the climate (with the inside temperature), the location and the odometer; tap a row for details.
  • Wide (for example 6×3 or 8×4): the car from the side on the right, with the name and the charge level and range in large numbers on the left, and the buttons under the car. The battery bar runs along the full width of the bottom.

Layout picks the design: Automatic (the default) uses the wide design when the card is clearly wider than it is tall. Car color paints the car in any color, for example #b3261e for red; it's silver by default. A short card shows the car smaller from the side, and a very short card just the battery and the battery bar. With your own car photo (by URL), the photo replaces the drawing. Images you put in Home Assistant's www folder are available at /local/….

Conditional widgets

Any widget can be shown only under certain conditions. Select it in the builder, then under Visibility choose Add condition. Pick an entity, a comparison (is, is not, above, below) and a value. For example: switch.coffee_machine is on, or sensor.washer_power above 5. With several conditions, choose whether all of them or just one must be true.

In the builder, hidden widgets stay visible but faded, with a Hidden now label, so you can still edit them. On the dashboard they disappear, and rows that only held hidden widgets close up so no gaps are left. Changes happen live as the entities change.

Phone dashboards

Turn on Designed for phones under Grid in the dashboard settings. The dashboard switches to a 4-column layout that you design at phone width, so what you see while editing is what the phone shows. Existing widgets are converted: small tiles become Small, the rest Medium, Large or a Row by their height, and nothing overlaps. Turning it off converts back to 12 columns.

Phone sizes

On a phone dashboard every card comes in four sizes, like widgets on a phone. Pick one under Size on the phone in the inspector, or drag the card's corner: it snaps to the nearest size.

Size Space What it shows
Small half the width, square an icon, the one figure or word that counts, the name, and one control
Medium full width, two rows the card itself, with what doesn't fit two rows left out
Large full width, four rows the whole card
Row full width, one line the icon and name, the figure, and one control

Small cards and Rows show each card at a glance: a thermostat its target with − and +, a media player what's playing with play and pause, blinds how far open with open and close, a room its temperature with a switch for its lights, the bins when they go out, a match its score, a calendar the next event, a litter box what it's doing with Clean now. Tap anywhere else on the card for what it normally does, such as switching a light or opening the details. A light as a Row is a fader: drag across it to dim. Medium and Large show the full card; entity tiles, buttons and timers get a larger figure there instead of empty space.

Not every card has every size: a heading is a Row or Medium, photos and web pages have no Row, and scroll cards are Medium or Large. Cards inside a scroll or swipe card keep their own design.

On a phone, such a dashboard fills the whole screen, without the top bar with the dashboard picker and the screen switcher. To bring the bar back, tap the round ⋯ button in the top right corner (or touch and hold an empty spot); it hides again after 15 seconds or when you tap ⋯ again. On a computer, a phone dashboard shows as a phone-width column. Dashboards that aren't designed for phones keep reflowing into two columns on phones, with the top bar. With the phone on its side, a phone dashboard shows two columns of its layout next to each other.

On phones

  • Which dashboard opens: on a phone, Dashboard Studio opens the dashboard last used on that phone, or else the first one designed for phones (a link, the device's own dashboard or the person's dashboard still come first). It always opens on the dashboard, not the builder.

  • Details: tap a sensor or device for its details: what it is now, a line of the last 24 hours for sensors, and its buttons. The entity ID and attributes are under Technical details. Back (the gesture, or the browser's button) closes the sheet.

  • Install as an app: on Android, use Haven (see above). The phone button in the top bar explains the other options: browsers can install Dashboard Studio as a web app when Home Assistant is opened over https (open Dashboard Studio in its own tab first); on iPhone and iPad, apps on the home screen can't use Home Assistant's sign-in, so use the sidebar in the Home Assistant app.

  • Shortcuts: tick Shortcut on the app icon in the settings of a button, tile, light, thermostat or garage card. When Dashboard Studio is installed from the browser on Android, long-press its icon to run one straight away (up to four shortcuts; Haven and iPhones don't support this).

  • Offline: each device keeps the last known states of its dashboard. When the connection drops, the dashboard keeps showing them with a small note saying from when, and catches up when it reconnects.

  • Swipe left or right over the dashboard to go to the next or previous tab (not over cards that swipe or scroll themselves).

  • Pull down at the top of the dashboard to reload every state.

  • Popups open as sheets from the bottom; drag one down to close it.

  • Vibration: buttons, switches and sliders give a short tick on phones that support it (not iPhones). Turn this off under This device. Wall tablets can play a soft click instead: turn on A soft click when something is pressed in the Kiosk settings.

  • Show on: under Visibility, a widget can be shown on all screens, only on phones, or only on larger screens.

  • Building on the phone: the Builder works on a phone too. The bar at the bottom opens the widget list (Add) and the settings as sheets. Tap a widget to select it, then drag it or its corner; tap it again for its settings.

  • Away from home: in the Tabs settings, When you're away from home, open picks a tab, such as cameras, the garage or the alarm, that opens while you're away, and the dashboard goes back when you're home. It follows the person signed in on the device, or a person you choose. Not used in kiosk mode.

Tabs and side menu

A dashboard can have several tabs, each with its own widgets, for example Overview, Household and Cameras. To set them up, deselect all widgets in the builder and use the Tabs section of the dashboard settings:

  • Add tab creates a tab and turns on the menu.
  • Each tab has a name and an icon (an icon name or an emoji). Use the arrows to reorder tabs and the bin to delete one; ⌘Z undoes this.
  • Show tabs in a side menu turns the menu on or off.
  • Menu style: Icons only (the default) shows a slim rail along the left edge, with the icons centered and a marker on the current tab. Hovering over an icon, or reaching it with the keyboard, shows the tab's name. With names shows the names next to the icons.

On phones the menu turns into a tab bar at the bottom, which always shows the names, since a phone has no hover. To move a widget to another tab, select it and change Tab in the inspector. The menu also shows in kiosk mode.

Kiosk mode

Press Kiosk in the toolbar, or open the dashboard with #kiosk at the end of its address. Kiosk mode:

  • hides the toolbar and editing panels, and shows no buttons of its own
  • keeps the screen awake, in browsers that support it
  • hides the pointer after a few seconds of no movement
  • can show a screen saver after a number of minutes (set this in the dashboard's Kiosk settings): a dimmed clock, or a slideshow of photos from image links or Immich albums with the time in the corner
  • can show the doorbell camera full screen when someone rings (see below)

Leaving kiosk mode: tap the top-right corner of the screen 5 times within a couple of seconds. A short prompt appears with Leave kiosk, Full screen and Stay. If nobody answers, it closes by itself after 8 seconds. Taps in that corner never press the widget underneath. On a keyboard, Escape opens the same prompt. You can move the exit gesture to another corner in the dashboard's Kiosk settings. A short hint shows when kiosk mode starts, then disappears.

Doorbell: in the Kiosk settings, pick the doorbell (a binary sensor that turns on, an event.* doorbell entity, or a switch or helper) and the camera to show. When it rings while kiosk mode is on, the camera fills the screen with a live picture, the screen saver goes away and a short chime plays (you can turn that off). It closes by itself after a minute, or after the number of seconds you set, or when you tap Close.

Tabs that take turns: with several tabs, set Go to the next tab every (seconds) to show them in turn. Touching the screen pauses this for a minute.

Announcements: an automation can put a message on the screens, for example Dinner is ready. Fire the event dashboard_studio_announce:

action:
  - event: dashboard_studio_announce
    event_data:
      message: Dinner is ready!
      title: Kitchen          # optional
      icon: dining            # optional, any icon name from the icon picker
      seconds: 60             # optional, closes by itself after this
      device: Kitchen tablet  # optional, only this named device (see Which dashboard opens where)
      sound: true             # optional, a short chime

The message fills the screen, wakes it from the screen saver, and closes after the seconds you give (a minute by default) or when someone taps OK. It shows on open dashboards that aren't being edited; turn it off per dashboard in the Kiosk settings.

Guest mode shows a simple screen with only lights and thermostats, for guests or a babysitter. Set it up under Guest mode in the dashboard settings: it turns on with the button there (on that device only), with an entity such as an input_boolean (on every screen), or between two times. You can pick which lights and thermostats it shows and the welcome text. A Guest mode button in the top bar ends it; in kiosk mode, use the exit corner, where the prompt has a Guest mode button too. Editing always shows the real dashboard.

On a wall tablet, use New tab in the kiosk settings. It opens the dashboard on its own, without the Home Assistant sidebar, and full screen works there.

Language and night mode

Dashboard Studio is available in English and Dutch (Nederlands). By default it follows the language you chose in your Home Assistant profile, or your browser's language if that isn't set. To choose a language for one device, such as a wall tablet, deselect all widgets in edit mode and use Language on this device under This device at the bottom of the dashboard settings. The app's Configuration tab in Home Assistant is translated as well.

Night mode is set per device in the same place. Choose After sunset (using sun.sun) or Between times, how much to dim the screen, and whether to switch to the dark theme. It turns on and off by itself, and is off while you're editing.

Several dashboards

Use + (or New dashboard on the Admin screen) for a new dashboard. You can start empty, from your devices, or from a template that fills itself with your devices: Wall tablet (clock, weather, calendar, rooms and cameras), Phone (people, lights, climate and media in the phone layout), Energy (power flow, solar forecast, water and gas, graphs) or Family (who's home, calendar, shopping list, parcels and weather).

On the Admin screen, a dashboard's ⋯ renames, duplicates, exports or deletes it; Import file brings an exported one back. Exported JSON files can be imported on another Home Assistant install. In the builder, the ⋯ menu keeps what concerns the dashboard you're building: rename, devices not on a dashboard, version history, undo history, share and export.

Import from Home Assistant (on the Admin screen) turns one of your existing Home Assistant dashboards into a new dashboard here, with a tab for each view. Entities, tile, button, light, thermostat, sensor, gauge, graph, weather, media, camera, calendar, to-do, alarm, area and markdown cards become matching widgets, and stacks and grids are taken apart; other cards are skipped and counted. The original stays as it is. Dashboards that Home Assistant generates itself (without cards of their own) can't be imported.

Share… shows a link and a QR code for the dashboard, optionally opening in kiosk mode. It opens on any device that is signed in to Home Assistant.

Version history… (in the builder's ⋯ menu, or a dashboard's ⋯ on the Admin screen) lists the earlier saves of the dashboard, up to 30, with the time and the number of widgets. Changes made within five minutes of each other count as one version. Restore brings a version back; ⌘Z undoes that.

Which dashboard opens where

The first dashboard to open on a device is, in this order: one from a link (#view=… or a shared link), the device's own dashboard (Admin → Devices), the person's Opens first (Admin → People), and otherwise the last one used on that device. People who aren't admins only ever get dashboards they may see, plus the one an admin gave their device.

Version and updates

The version you're running is shown under Admin → About, and at the bottom of the dashboard settings in the builder. What's new there shows the changelog, which is also on the app's Changelog tab in Home Assistant. After an update, a short message points you to it. After Home Assistant installs an update, screens that are open reload themselves within a few minutes, which is handy for wall tablets. While you're editing, you get a message instead, so nothing you're working on is interrupted.

Data

Dashboards, presets and who sees what are stored in the app's /data/dashboards.json, their version history (with who made each change) in /data/history/, and the devices that opened Dashboard Studio in /data/devices.json, so all of it is included in Home Assistant backups. Night mode, guest mode started with the button, vibration and the last known states are kept on each device.