An open API service indexing awesome lists of open source software.

https://github.com/mcnamee/ha-dashboard-cycler

Automatically cycles through Home Assistant dashboards in kiosk mode
https://github.com/mcnamee/ha-dashboard-cycler

hacs home-assistant

Last synced: about 1 month ago
JSON representation

Automatically cycles through Home Assistant dashboards in kiosk mode

Awesome Lists containing this project

README

          

# Home Assistant Dashboard Cycler

Automatically cycles through Home Assistant dashboard tabs.

A lightweight HACS plugin (no card required) that rotates through your
dashboard tabs on a timer. Interaction from any user (tap, scroll, keypress)
resets the timer, so manual browsing is never interrupted.

## Features

- Auto-discovers dashboard tabs — no hardcoded URLs needed
- Rotates every 60 seconds by default
- Resets the timer on any user interaction (tap, scroll, keypress, scroll wheel)
- Retries silently until HA has fully loaded

---

## Requirements

- [HACS](https://hacs.xyz) installed
- Home Assistant with a dashboard

---

## Installation via HACS (recommended)

1. In Home Assistant, go to **HACS → Frontend**
2. Click the **3 dots** (top right) → **Custom repositories**
3. Enter the repository URL: `https://github.com/mcnamee/ha-dashboard-cycler`
4. Set the category to **Dashboard**
5. Click **ADD**
6. Find **ha-dashboard-cycler** in the list and click **Download**
7. Reload your browser

HACS will automatically register the script as a resource —
no manual resource config needed.

---

## Manual Installation

1. Download `dashboard-cycler.js` from the [latest release](../../releases/latest)
2. Copy it to `config/www/ha-dashboard-cycler/dashboard-cycler.js`
3. In Home Assistant go to **Settings → Dashboards → Resources**
4. Add a new resource:
- **URL:** `/local/ha-dashboard-cycler/dashboard-cycler.js`
- **Type:** JavaScript module
5. Reload your browser

---

## Configuration

Open `dashboard-cycler.js` and edit the constants at the top of the file:

| Constant | Default | Description |
|---|---|---|
| `ROTATE_INTERVAL_MS` | `60000` | Time between tab changes (milliseconds) |

---

## Usage

Once installed, the script runs automatically on every page load. No card or
YAML configuration is required.

It works best paired with a kiosk mode integration such as
[kiosk-mode](https://github.com/NemesisRE/kiosk-mode) to hide the HA header
and sidebar.

---

## Troubleshooting

**Tabs aren't rotating**
- Open the browser console and check for errors
- Ensure your dashboard has more than one tab
- Try a hard refresh (`Ctrl+Shift+R` / `Cmd+Shift+R`)

**It rotates but skips a tab**
- Views marked as `subview: true` in your dashboard YAML are intentionally
skipped as they are not top-level tabs

---

## License

MIT