> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperwisor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule Manager

> Manage time-based device schedules from a dashboard widget.

<Info>
  **Category:** Controls · **Manages:** device schedules · **Reads data:** yes (the schedule list)
</Info>

## Mental model

A **Schedule Manager is a programmable wall timer.** It lists the time-based
schedules on your device(s) and lets users add, edit, and run them — automation
that happens *at a time*, not in response to a value.

## When to use it

* Let users create clock-based automation (on at 6:00, off at midnight)
* Surface and manage a device's schedules in the UI

## Settings

### General

* **Widget Title / ID**
* **Device ID (optional)** — scope to one device
* **Max schedules to display**

### Style

* **List layout** · **item spacing / background**
* **Show status / date / last executed** — which columns show
* **Show action buttons** — edit/run controls
* Button color, background, border, font

## Related

Schedules created here appear in the user app's [Schedules](/app/schedules) tab, and
you can monitor them product-wide. For *conditional* automation ("if a value
crosses…"), use [Rules](/dashboard/widgets/rule) instead.

## Script API example

The same interactions from a [dashboard script](/script/overview):

```js theme={null}
// Only admins see the schedule manager
if (context.user?.role !== 'admin') widget.hide('scheduleManager');
```

<CardGroup cols={2}>
  <Card title="Rule Manager" icon="bolt" href="/dashboard/widgets/rule">
    Conditional (if/then) automation.
  </Card>

  <Card title="Schedules (app)" icon="calendar" href="/app/schedules">
    The user-facing schedules tab.
  </Card>
</CardGroup>
