# Screen, power & screensaver

> Brightness, idle dimming, screen off, the clock and photo-frame screensaver, night mode, daily maintenance and battery care.

A kiosk screen should be bright when someone is there and quiet when nobody is. Kiosky does this with an idle pipeline: **dim**, then **screensaver**, then **screen off**, each after a delay you choose, with any touch (or motion, if you enable it) waking it again.

Most settings are under **Settings, Screen & power**. Night mode and battery care are also under **Settings, Screen & power**. Daily maintenance, backup and logs are under **Settings, Device**.

## Screen & power

| Setting | Default | Notes |
|---|---|---|
| Appearance | Auto | **Auto**, **Light** or **Dark** for Kiosky's own screens. Auto follows the system. |
| Keep screen on | Charging | **Never**, **Charging** or **Always**. |
| Auto brightness | On | Uses the light sensor between the minimum and maximum. Turn off for fixed brightness. |
| Minimum / dimmed brightness | 10 | 0 to 255. Also the level used when dimmed. |
| Maximum brightness | 255 | 0 to 255. The minimum can never exceed the maximum. |
| Dim after | 2 min | 0 to 60 min. 0 is off. |
| Screensaver after | 5 min | 0 to 120 min. 0 is off. |
| Screen off after | 15 min | 0 to 240 min. 0 is off. |

The stages run in that order: a tablet idle for 2 minutes dims, at 5 minutes starts the screensaver and at 15 minutes turns the screen off. The current stage is reported as `screen_stage` (`active`, `dimmed`, `screensaver` or `off`) in the REST and MQTT state.

> **Note.** In single-app mode Kiosky cannot see touches inside the other app, so dimming and the screensaver are switched off there. See [Choosing a mode](modes.md#single-app-mode).

You can also set the screen and brightness from outside: the `screen` and `brightness` commands (0 to 255), and in Home Assistant the **Screen** light entity. See the [REST API](rest-api.md#commands) and [MQTT reference](mqtt.md#commands).

## Screensaver

**Settings, Screen & power, Screensaver, Show when idle** chooses what appears after the idle delay:

| Choice | What it shows |
|---|---|
| Off | Nothing. The dashboard stays until the screen turns off. |
| Black | A black screen. |
| Clock | A large clock. The default. |
| Photos | A photo frame, below. |

The delay is the **Screensaver after** slider. Picking a type while it is off turns it back on with the default delay. The `screensaver` command (`on` or `off`) and the Home Assistant **Screensaver** switch start and stop it by hand.

### Photo frame

**Photo frame** options:

| Setting | Default | Notes |
|---|---|---|
| Change photo every | 30 s | 5 to 600 s. |
| Shuffle | On | |
| Clock and date | On | Over the bottom of the photo. |
| Slow zoom | Off | A gentle Ken Burns drift. |
| Scaling | Fill | **Fill** crops to cover the screen, **Fit** shows the whole photo. |

Sources are additive: every source you configure feeds one playlist.

- **Folders on this device**: tap **Add folder** and pick a folder such as Pictures. Sub-folders are included. You can add up to 8 folders.
- **Immich**: enter your **Server URL** (for example `http://immich.lan:2283`), choose **Photos from** Random, Favourites or an Album (then enter the album id), and paste an API key created in your Immich account settings. The key is stored hidden and never exported.
- **Image URLs**: one `https` image URL per line, up to 100. Home Assistant media (for example `/media/local/photo.jpg` on your HA host) is fetched with your HA token. Other hosts must be in your [allowed hosts](dashboards.md#allowed-hosts).

## Night mode

**Settings, Screen & power, Night mode** applies a daily window. Turn on **Night schedule**, set **From** and **To** (`HH:mm`, local time, default 22:30 to 06:30, and the window may cross midnight) and choose what happens **During the window**:

- **Dim**
- **Screen off**
- **Other page**: show another page. Enter the **Night page URL**; its host must be a dashboard host or an allowed host.

**Window starts on** picks the weekdays the window begins. Lower-case day labels are off.

The night page overrides the dashboard planner and rotation. See [Dashboards & browser](dashboards.md#planner).

## Daily maintenance

**Settings, Device, Daily maintenance** can restart the app and reboot the device at fixed times:

- **Restart the app at**: a local `HH:mm`, or leave empty.
- **Reboot the device at**: a local `HH:mm`. This needs full lock (Device Owner) and is disabled without it.

Tap **Save maintenance** to apply.

## Battery care

A tablet on a charger for years can swell its battery. **Settings, Screen & power, Battery care** keeps the charge between a minimum and a maximum by telling Home Assistant when to switch the charger.

1. Turn on **Enable battery care**.
2. Set **Charge when at or below** (5 to 95%, default 40%) and **Stop charging at or above** (10 to 100%, default 80%). The minimum must be below the maximum.
3. In Home Assistant, use the **Charging wanted** binary sensor to switch a smart plug: ON means "charge now", OFF means "stop".

For systems other than Home Assistant, set a **Webhook** URL. Kiosky calls it on every change with a body like:

```json
{"charge_wanted": true, "battery": 38}
```

The webhook URL is stored hidden, replaced with **Save webhook** and cleared with **Remove**. Battery care needs a smart plug or other way to switch power; Kiosky only signals when.

## Backup and logs

**Settings, Device, Backup & restore** exports your settings to a JSON file and imports them from a file or an `http(s)` URL. Passwords, tokens, the PIN and the battery webhook are never included. **Logs** shows the last log lines with tokens and passwords masked, and offers **Save to file** and **Share**. The same logs are at `GET /api/logs`.
