DomoDreams · NSPanel Pro

A control panel you'd want on your wall.

Turn a Sonoff NSPanel Pro into a fully-custom Home Assistant panel — pre-rendered surfaces, 32 curated styles, and every button laid out visually from the Home Assistant sidebar. All local, over MQTT, no cloud.

Home Assistant MQTT · local push 480×480 · Android 8.1 Multi-panel
Grid
Control grid on the panel
Clock
Themeable clock face

What it is

🎛️

Crafted surfaces

A designed UI, not a web dashboard

Soft, pre-rendered surfaces tuned for the panel's low-power GPU, so it stays crisp and reads like a designed object rather than a web page on a screen.

🧩

One document

Look and behavior together

A single config describes what each tile looks like and what it does. The panel renders it; the integration executes it.

🛰️

Local push

Everything over MQTT

Buttons publish events, Home Assistant mirrors real entity state back, and the panel lights up to match. Optimistic on tap, reconciled from state.

🖥️

No JSON by hand

Edit it visually

A WYSIWYG editor lives right in the HA sidebar. Build layouts by clicking — pick entities, arrange tiles, choose page types, set the theme.

🏠

By design

Multi-panel

One Home Assistant drives N panels, each scoped to its own device, entities and topic namespace. Nothing assumes a single panel.

🔌

Resilient

Boots offline

The panel renders from retained topics and a local cache. Broker or HA down? It still shows your last-known UI.

Typed pages, swipe between them

grid · clock · weather · alarm · camera · music

Add as many pages as you want per panel and mix the types freely — each one brings its own layout and behaviour. The music page makes the panel a full Music Assistant player: pick it from any MA app and it plays, natively.

Grid
Button grid
Covers & dimmers
Cover and dimmer controls
Alarm keypad
Alarmo keypad

In the Home Assistant sidebar

Build it by clicking, not by hand

A visual editor lives right inside Home Assistant. Drag tiles onto the grid, pick the entity each one controls, and watch a live preview of the panel update as you go — then push it to the wall over the air.

preview
Live WYSIWYG. The middle pane mirrors the real panel as you edit.
pages
Every page type. Grid, clock, weather, alarm, camera, music — added and ordered visually.
push
Over the air. Save & Push sends changes to the panel; ADB installs app updates.
The DomoDreams visual editor in Home Assistant — pages list, live panel preview and inspector

Thirty-two styles, one panel

From soft matte to wood & brass

Every curated style, shown on the same example pages — light and dark, minimal and maximal. Pick one from a dropdown and the whole panel restyles at once.

Open the gallery

How it works

The integration owns the Home Assistant side end-to-end. The app never touches HA discovery topics — it just renders and reports.

event
Panel → HA. A button was pressed; HA runs the bound service call.
config
HA → Panel. Layout + bindings, retained, so the panel boots from the broker.
state
HA → Panel. Entity state mirror, retained. Tiles reconcile to reality.
cmd
HA → Panel. Wake, change page, reload — device-targeted.
# domodreams/panel/{device}/…
NSPanel Pro ──MQTT──▶  event      (button pressed)
            ◀─MQTT───  config     (layout + bindings, retained)
            ◀─MQTT───  state/*    (entity state mirror, retained)
            ◀─MQTT───  cmd/*      (wake, page, reload, …)

# Reconnect: exponential backoff with jitter (1s → 30s).
# Boots from retained topics + local cache when HA is down.