# LCD.Dashboard

## 1.2.1

### Patch Changes

-   f3011dc: Dashboard: Sign out in the Ambient, Console and Glance styles (it was only in Classic). Product & licence page and Config Uploader summary: read the uploaded configuration from the driver, so the Config Uploader row stops saying "Not Configured" after an upload and shows the file count and upload time.

## 1.2.0

### Minor Changes

-   4c30735: Sign-in for the remaining drivers (LCD-56):

    -   The security settings (Require sign-in, Allow sign-in over http) are on each app's Settings tab: a new Settings tab in UI Dynamic and Ajax Security, a Security section on Sonos Chime's page, and in the existing Settings tab elsewhere.
    -   2N Doorstation sends the troubleshooter as POST.
    -   Dashboard saves settings, dashboards and the logo through the signed-in `settings/save`, `dashboards/save` and `branding/logo/save` routes, and sends `system/command` as POST.
    -   The Config Uploader has the sign-in screen, as its routes need a sign-in on a driver using Lcd.DriverLibs 3.x.
    -   Dashboard's homeowner view and kiosk pages no longer offer Snooze, Dismiss or Un-snooze, which need a sign-in (decision D2). A kiosk page always shows the homeowner view, since an unattended tablet can't keep an installer's sign-in.

## 1.1.6

### Patch Changes

-   a045084: Sign-in: an https link changed to http by hand now offers the https page instead of a sign-in form that couldn't reach the driver (LCD-55).

## 1.1.5

### Patch Changes

-   726856b: Sign-in: a wrong password says how many tries are left, and a paused account says whose it is, why, and the time the pause ends (Lcd.DriverLibs 3.1.0). Over http, when the driver refuses http sign-in, the form offers only the https page, so the password is never sent over http (LCD-55).

## 1.1.4

### Patch Changes

-   0a36984: Built on Next.js 16 and React 19 (LCD-69), which clears the High and Critical advisories in Next.js 13.4.19 and
    its PostCSS chain. The app looks and works as before; toasts pick up the react-toastify 10 styling.

## 1.1.3

-   Open with no sign-in form when the driver's sign-in is turned off on its Settings tab, and keep Sign out for a signed-in user (D6, LCD-55).

## 1.1.2

-   A driver error while checking the sign-in shows the sign-in form; only a driver from before sign-in opens without it (LCD-55).

## 1.1.1

-   Open without sign-in on drivers from before sign-in, which answer an unknown route with an empty reply rather than "not found" (LCD-55).

## 1.1.0

-   The installer view asks for the processor's username and password on drivers that have sign-in (Lcd.DriverLibs 3.0.0). The homeowner view still opens straight away, and drivers from before sign-in work as before (LCD-55).

## 1.0.0

### Added

-   Initial release of the LCD Dashboard app for the Crestron Home dashboard driver: a read-only view of the house,
    served from the processor.
-   **Overview**: a whole-house summary strip, plus a card per room showing lights, shades, doors, locks, occupancy,
    climate, media and active scenes. Values the processor did not report show as unknown.
-   **Alerts**: active alerts by severity, alert history with durations, and per-rule settings with thresholds.
-   **System**: processor health tiles, a 24-hour and 7-day CPU and memory chart, network devices, console command
    health, an on-demand command viewer and the troubleshooter.
-   The snapshot is polled every 2.5 seconds and only re-rendered when its revision changes. All polling pauses while
    the browser tab is hidden.
-   **Share with homeowner**: a QR code of the homeowner link, generated in the browser, with copy link, a PNG
    download and a printable handover card with plain-language steps.
-   **Homeowner view** (`audience=home`): Overview, Alerts and Energy only, with a simpler header.
-   Built for phones first: a bottom tab bar on narrow screens, 44px touch targets, no sideways scrolling, and
    home-screen icons so the dashboard can be added to a phone's home screen.
-   **Dashboard styles**: the look is now a setting. Classic (the original) plus Ambient, Glance and Console, which
    start as previews of Classic with their own colours and fonts. The installer sets a default for the homeowner view
    and the installer view in a new Settings tab (which also holds the alert settings); any viewer can pick a style for
    their own device; `style=` in a link overrides both, and the Share modal can add it to the QR code. Fonts are
    bundled with the app.
-   **Room filters**: a link (`rooms=` with `roomNames=` as a fallback) or this device can show only some rooms. The
    summary, the rooms and the alerts follow the filter, alerts for the whole house always show, and a link whose rooms
    have gone says so with a Show all rooms button. Share with homeowner can choose the rooms for its link.
-   If the page's own address has gone (the driver was re-created), the app tries the fixed address `cws/lcd-dashboard`
    once before saying the driver is gone.
-   **Integrator branding**: Settings → Branding takes the installer's logo (resized in the browser to 512 px and sent
    as WebP or PNG), company name and support details. They replace the LCD mark and name in every style and on the
    printed handover card, a small "Powered by LCD" shows in the footer, and the homeowner view gets a "Need help?"
    line with call, website and email links. With no branding set, the app shows LCD's name and mark.
-   **Energy**: a new view for the installer and the homeowner with estimated kWh and cost for today, the week, the
    month or the year (with how much of the period was recorded), consumption by hour or day, use by room, the top
    loads, lights left on in empty rooms or overnight, temperature against setpoint per thermostat, and an occupancy
    heatmap per room. Room filters apply: the app asks the driver for those rooms only (`rooms=`). Each section
    downloads as CSV. Settings → Energy holds the tariff, default watts and the load table, with bulk edit, remaps
    for loads that changed id, and CSV export and import.
-   **Saved dashboards**: named pages of cards the installer builds, opened with `dashboard=<id>` in a link or chosen
    per device. Cards cover the house, energy and the processor, and are laid out per phone, tablet and desktop.
    `kiosk=1` gives a wall tablet the page on its own, keeps the screen awake and dims it overnight. A new install
    starts with the set the driver generates from the house.
-   **Dashboard editor** (installer only): drag and resize cards, add them from a catalogue, set each card's options,
    and create, rename, duplicate, reorder and delete dashboards, with a per-dashboard style, rooms and kiosk
    settings. A PIN, when the driver has one, is asked once per session. Saves carry the version they were read at,
    so nothing overwrites someone else's change.
-   `?mock=1` serves a demo house for development without a processor (`&audience=home` previews the homeowner
    view, `&secondary=1` the already-installed panel).
