Features

Everything the panel can be.

Six typed page types, a shelf of tactile tiles, a live camera, an alarm keypad with an on-screen siren, notifications, presence and light sensors, and 32 curated styles — all configured visually and driven over MQTT. Tap any screenshot to enlarge it.

Typed pages

swipe to switch · tap to zoom

grid

The control grid

Buttons, split tiles and a scene bar. Lights, switches, scenes, scripts — one tap each, lit from real state.

Grid page on the panel

clock

Clock & screensaver

Analog or digital, fully themeable. Doubles as the dimmed screensaver — the screen you see most of the day.

Clock page on the panel

weather

Weather soon

An at-a-glance weather page driven by your Home Assistant weather entity — themed to match the rest of the wall.

Coming soon In active development

alarm

Alarm keypad

A full Alarmo keypad — arm away, arm home, disarm, live status. The security surface, right by the door.

Alarm keypad on the panel

camera

Live camera

Streams live MJPEG in-panel with PTZ, and detects a dead stream by hashing pixels — a frozen feed never masquerades as live.

Camera page on the panel

music

Music

A media surface with transport and volume, wired to Home Assistant media players and Music Assistant.

Music page on the panel

The grid, up close

A shelf of tactile tiles

Every tile is a pre-rendered surface, not a stack of shadows — so it stays crisp and cheap to draw on the panel's modest GPU.

button
Toggle & momentary. Lights, switches, scenes, scripts.
dimmer
Step up / down. Tap the upper or lower half; long-press auto-repeats.
switcher
Multi-state. Cycle through fixed options with a tap.
split
Two actions, one tile. Independent halves for tight layouts.
rocker
Cover & blind control. Up / stop / down, physical-feeling.
scene bar
One-tap scenes. A row of shortcuts pinned across the grid.
Covers & dimmers
Cover and dimmer tiles

No drag, on purpose. Continuous drag feels bad on this touchscreen, so dimmers and covers step via taps with long-press auto-repeat — a deliberate decision made on the real hardware.

Security & alerts

it protects the room, too
🔐

alarm

Alarmo keypad

Arm away, arm home, disarm and read live state — the full keypad by the door, themed like everything else. No separate app, no web view of a dashboard.

🚨

siren

On-screen siren

When the alarm trips, the whole panel becomes a siren — a full-screen police-flash and a loud looping tone. It's the top audio priority: never ducked, never talked over, and Home Assistant can't accidentally silence it — only a deliberate stop-everything does.

🔔

notifications

Notifications

Push a message to the glass — a banner, or full-screen for the urgent ones, which wake a sleeping panel. Normal ones wait quietly and show at the next wake, so nothing burns its timeout in an empty room. Optional sound, or spoken aloud as a TTS announcement.

Wired into Home Assistant. A notify.<panel> entity and services push messages, speech and sounds; bus events (shown · dismissed · expired) let your automations react to what actually reached the person in the room.

Eyes on the door

Live camera that tells the truth

MJPEG plays inside the panel with pan / tilt / zoom. When a stream dies, Chromium keeps showing the last frame forever — so the panel hashes pixels to actually know the feed is alive. A dead camera can't fake it.

Live MJPEG PTZ controls Liveness by pixel-hash
Camera
Live camera page on the panel

It senses the room

onboard sensors
🚶

presence sensor

Wakes as you approach

An active proximity sensor lets the panel light up before you touch it, and settle back to its dimmed screensaver once you walk away — so it's bright when you're there and dark when you're not. Surfaced to Home Assistant as well.

🔆

light sensor

Reads the room's light

An ambient light sensor drives auto-brightness — never glaring at 3 a.m., never washed out at noon — and is published to Home Assistant as an illuminance sensor you can automate on.

The system underneath

🎨

32 curated styles

Light and dark, matte and metallic, wood and neon. Change the whole feel of the wall from a menu. Browse them →

🌙

Owns its own dimming

Two-stage inactivity → default page → dimmed clock screensaver. Wakes on touch or the presence sensor. Nothing burns in.

🎵

Music & audio

Media players and Music Assistant, with TTS announcements that pause the music, speak, then resume exactly what was playing.

🏠

Multi-panel

One HA drives many panels. Each is its own device, config document and topic namespace — services are device-targeted throughout.

🧩

Visual editor

A WYSIWYG config panel in the HA sidebar, admin-only. Remote-control and live screenshots of the panel, right from the browser.

📴

Offline-first

Boots and renders from retained topics + local cache. Broker or HA down ⇒ last-known UI, visual feedback only, nothing lost.

Built for the wall

A proper kiosk, not a launcher hack

Purpose-built for the NSPanel Pro hardware and nothing else.

Immersive fullscreen Keep-screen-on Portrait lock Autostart on boot 480×480 · mdpi Android 8.1 / API 27
On-device settings
On-device settings screen

Ready to see it dressed up?

Thirty-two styles on the same two grids — then pick a licence.