# How does a player update itself?

By itself, over the connection that is already there. On a player, three components arrive in three ways: the display software as a bundle and remote maintenance as a package, both without a restart of the device, and the system SzeneraOS as an image with a restart. All three follow the one channel of the device, and each returns to the previous version by itself if the new one does not report as healthy. You do not have to do anything.

> **Type:** concept
> **For:** anyone looking after a player who wants to know when the display goes dark
> **Prerequisite:** a paired device with an internet connection. The commands need the Manager or Owner role.
> **Where in the portal:** **Devices** › device › tab **System** › **System image**

## Three components, one channel

| Component | What it does | How it arrives | Interruption |
|---|---|---|---|
| **Display software** | assembles your content on every display | as a **bundle** of a few megabytes. Remote maintenance fetches it, checks it, and reloads the displays | a moment without a picture, no restart |
| **Remote maintenance** | keeps the connection to the cloud, brings the display software to the device, and carries out your commands | as a **package** that replaces its predecessor during operation | none, the device does not restart |
| **SzeneraOS** | the player’s system | as an **image** that is installed next to the running system | the duration of a restart |

Which version a player gets is decided by its **channel**: **Stable**, **Beta**, or **Preview**. Every device has exactly one, and it applies to all three components at once. So a device never runs display software from Beta next to a system from Stable. Szenera sets the channel for each device, and most devices are on **Stable**.

## When a new version arrives

A new version reaches a device only when Szenera **releases** it for its channel. Every release is signed, and the device accepts only what passes this check. Szenera can release a version first for **Preview** and **Beta** and only afterward for **Stable**, so a new version reaches most devices only after it has proven itself on a few.

As soon as a release is available for the channel, a connected player learns of it immediately and usually fetches it within a few minutes, at the latest after a quarter of an hour. Without a connection, it keeps playing what it has and fetches the release once the network is back.

## The health gate: every version has to prove itself

After every switch, the device checks the new version before it keeps it. This check is called the **health gate**:

| Component | What it has to show |
|---|---|
| **Display software** | Every display of the device reports the new version within two minutes and then runs for a minute without errors. |
| **Remote maintenance** | It reports ready within five minutes and has fetched and checked the releases once. |
| **SzeneraOS** | After the trial restart, remote maintenance and display software run healthy in the new system. |

If a version does not pass the gate, the device returns to the previous one by itself. Display software or remote maintenance that failed is not tried again for a day. If only the network fails during the check, the device waits a while, then also returns to the previous version and tries the new one again later. In the portal, the component then shows **rolled back**.

## SzeneraOS: four phases, one interruption

Only the restart interrupts the picture, and it hits **all** displays of the device at the same time.

| Phase | What the display does |
|---|---|
| Downloading and checking | keeps showing the content unchanged |
| Installing | keeps showing the content, the running version is not touched |
| Trial restart | a real restart: no picture for its duration, on all displays of the device |
| Afterward | shows content again, at first from the offline stock on the device |

![A new version travels from the channel through downloading, checking, and installing into a trial restart. After that, it either stays, or the old version runs again.](/docs/devices/bilder/1993b79f-update-flow.svg)

*The old version stays completely on the device until the end. That is why there is always a way back.*

The restart boots into the new version exactly once, on trial. Only when the version passes the health gate there does it become permanent. If this self-test never takes place, the device boots the old version again by itself. On a device with two displays, each display counts: If one stays black, the device rolls back, even if the other runs flawlessly.

**No downgrade.** If Szenera withdraws a version of SzeneraOS, a device that already runs it gets no further offer. Nothing happens on the device then, and that is correct. It waits for the next higher version. There is deliberately no path to an older system. Display software and remote maintenance, in contrast, also follow an older version if Szenera releases it again for their channel, because both switch without a restart and can be restored at any time.

## The display software updates without a restart

The display software, that is, the application that assembles your content on every display, does not come with the system. When Szenera releases a new version, the device fetches the bundle by itself, checks it, and reloads the displays. For that moment, no picture is visible, and a restart of the device is not needed. After that, the health gate of the display software runs.

## Remote maintenance updates without a restart

Remote maintenance is the part of the player that keeps the connection to the cloud, brings the display software to the device, and carries out your commands. Like the display software, it does not come with the system. When Szenera releases a new version, the device fetches the package by itself and checks its signatures. Then it switches over to the new remote maintenance while the device keeps running. The display software keeps running in the meantime.

Both appear in the device’s operations log, for example **Remote maintenance 0.4.1 is active.** or **Remote maintenance 0.4.1 did not respond. The device uses the previous version again.** Which version is running right now appears in the **Software** card on the **System** tab, in the **Remote maintenance** row.

## The status page

As long as no display software is running on a player, remote maintenance shows its **status page** on the display: at the first startup of a fresh device until it has fetched the display software for the first time, and after a fallback for which there is no previous version. The status page names what is holding things up, for example **No connection**, **The device is signing in**, **Waiting for confirmation in the portal**, or **Loading the display**. It says how the [service menu](/docs/devices/service-menu) opens, and after two minutes it shows a QR code with the report for the phone. As soon as the display software is running, it disappears by itself.

## Web displays and host apps

A web display and a host app such as the **Fire TV app**, the **webOS app**, or the **Tizen app** have only the display software, no remote maintenance and no SzeneraOS. They have no channel. For them, the display software comes from the cloud, always in the version that Szenera has released for **Stable**. A connected display learns of a new version immediately and reloads it between two scenes, usually within a few minutes, at the latest within an hour. If Szenera withdraws a version, the displays likewise follow within an hour.

The app itself comes through its store: the Fire TV app from the Amazon Appstore, the webOS app from the LG Content Store, the Tizen app from Samsung Apps. The TV or stick installs new versions of the app by its own rules. You renew the display extension for Chrome by hand. Whoever looks after the device maintains its system and the browser. Which platform can do what is explained under [Platforms: which devices run Szenera](/docs/devices/platforms).

## What you can read and trigger in the portal

The **Software** card on the **System** tab lists the version with its state for each component, plus the channel and below it **System image**.

| Field | Possible values |
|---|---|
| State in the rows **Display software**, **Remote maintenance**, and **SzeneraOS** | **up to date**, **updating**, **rolled back**, **outdated** |
| **Channel** | **Stable**, **Beta**, **Preview** |
| **System image** | **unchanged**, **downloading**, **installing**, **trial boot**, **changed**, **rolled back**, **failed** |

What the states mean is explained under [The device record](/docs/devices/device-record#system). In the list under **Devices**, the filter **Display software outdated** shows every device whose display software does not yet show the version of its channel.

More briefly, the same appears in the device record, card **System & runtime**, row **System image**: **downloading**, **installing**, **trial boot**, **rolled back**, **failed**. The row appears only while a switch is running or has failed.

On the **Remote service** tab are two commands for this: **Check for update** asks whether something newer is available for this device’s channel (installing happens only afterward), and **Confirm system state** confirms the running version. Without this confirmation, the device falls back to the previous one at the next start.

## Apps follow a rule of their own

Apps are updated separately from the system, as bundles of their own with a signature of their own. They appear on the **System** tab in the **Content on the device** card with **App**, **Version**, **Size**, and **State**: **current**, **Update**, or **unused**. If the device rejects a bundle, exactly that app does not start. Everything else keeps running. If an app asks for new permissions, you decide on them in the portal.

## What follows

- **You plan nothing.** There is no date to set and no button you have to press.
- **Three things are easily confused.** An update is work on the device. A **maintenance window** is an announcement shown as a narrow band over content that keeps playing. A period **off air** is a time window your organization has scheduled to stay blank. None of them triggers any of the others.
- **Security updates are guaranteed:** automatically, at no additional cost, for at least five years from the day of delivery.
- **Web displays and host apps get no system update from Szenera.** Browser, app environment, and operating system are maintained there by whoever looks after the device.
- **A pairing code after a restart was not an update** but an action of the **Lifecycle** card, for example **Re-pair**.

## Related

- [How does a player keep itself running?](/docs/devices/about-self-healing): check-in, offline stock, and self-healing in daily operation.
- [Maintain a device remotely: restart, log, update](/docs/devices/maintain-device-remotely): the commands of the **Remote service** tab.
- [Platforms: which devices run Szenera](/docs/devices/platforms): what web displays and host apps can and cannot do.
- [Accept an app’s new permissions](/docs/apps/app-update-decision): when an app update asks for more than before.
