The Sonoff NSPanel Pro Gen2 is a wall-mounted smart home control panel built around a 3.95-inch capacitive touchscreen, a Rockchip RK3326-S quad-core processor, and an unusually open software stack for a product in this category. It fits a standard 86 x 86 mm wall box, includes two built-in relay channels rated at 10 A total, and acts as a Zigbee 3.0 coordinator, Matter bridge, and local MQTT gateway in one unit. Sonoff positions it as both a wall switch replacement and an eWeLink ecosystem hub, but for Home Assistant users it turns out to be something more interesting: a local sensor and relay endpoint with working voice assistant potential, priced at around $117 (€110), even if its role as an HA control panel remains limited.

Specifications
- SoC: Rockchip RK3326-S, quad-core Cortex-A35 at 1.5 GHz, Mali-G31 GPU
- Memory: 2 GB DDR3
- Storage: 32 GB eMMC 5.1
- Display: 3.95-inch 480 x 480 capacitive touchscreen with auto brightness
- Radios: Dual-band WiFi (2.4/5 GHz), Bluetooth LE, Zigbee 3.0 (Silicon Labs EFR32MG24)
- Relays: 2 channels, 5 A per channel, 10 A total (resistive load)
- Audio: 1.5 W speaker, digital microphone
- Sensors: Ambient light, proximity
- Protocols: Matter bridge, MQTT Discovery, eWeLink
- OS: eWeLink CUBE OS (Android-based)
- Form factor: 86 x 86 mm wall box standard
- Firmware tested: 4.9.0
- Price: Starting at $117 (€110)
Design and Build
The NSPanel Pro Gen2 is a compact square designed to replace a standard wall light switch. The 3.95-inch display is small but sharp at 480 x 480, with responsive capacitive touch input. Auto brightness adjusts smoothly via the built-in light sensor, which responds within about a second to changing conditions.

The proximity sensor is the standout physical feature for daily use. It wakes the screen within approximately 1 second when someone approaches, verified through Home Assistant's timestamped history: proximity detected at one timestamp, screen on at the next second. The screen turns off after exactly 5 minutes without detection, confirmed across multiple cycles. The sensor is tuned for whole-body approach: a standing person within roughly 1.5 m (5 ft) or someone walking through a doorway triggers it immediately in 1 to 2 second pulses. It does not respond to arm waving from a seated position, and it does not hold its "on" state for a stationary person. That makes it well suited as a screen-wake trigger and a "someone entered the room" signal for automations, but it is not a presence sensor.
The light sensor reports values on an uncalibrated internal scale rather than standard lux: approximately 12,000 to 15,000 in a normally lit room, 600 to 750 when covered, with a minimum reading of 41. It updates frequently, with 692 value changes observed in 50 minutes, which provides good resolution for lighting automations but can generate significant recorder load in Home Assistant. Treat its readings as relative, not absolute.
The two relay channels are rated at 5 A per channel and 10 A total for resistive loads, intended to replace a physical wall switch by breaking real load to connected circuits. One practical note: if the relay feeds a smart bulb (a Philips Hue lamp in my testing), cutting power disconnects the bulb from its network entirely. The relay needs to stay permanently on, with the bulb controlled digitally. The panel does not solve this conflict, but it is a common enough scenario to plan for before wiring.
Connectivity and I/O
The NSPanel Pro Gen2's connectivity story is its strongest chapter, and it runs in one clear direction: the panel feeds data and control into Home Assistant with real depth. Going the other direction, from HA onto the panel's own screen, is where it falls short.
Into Home Assistant: MQTT and Matter
The panel's Zigbee sub-devices sync to Home Assistant via local MQTT Discovery, entirely without cloud involvement. A Sonoff SNZB-02P temperature and humidity sensor paired to the panel appeared automatically in HA with all readings, battery level, and calibration settings. The panel itself exposes approximately 40 entities in HA: screen on/off and brightness controls, automatic brightness toggle, proximity and illuminance sensors, microphone recording controls (start, stop, mute, file metadata), speaker playback with volume and mode selection, both relay channels, a security mode selector, a permit-join toggle, and a restart button. Relay commands from HA take effect immediately with no perceptible delay.

The panel also functions as a Matter bridge. Commissioning into Home Assistant's Matter server using the manual 21-digit pairing code was straightforward: attestation passed through the Coolkit/eWeLink certificate chain, and both relay channels appeared as Matter OnOffPlugInUnit endpoints. The same hardware is accessible via two independent local protocols simultaneously (MQTT and Matter), which is useful redundancy.
Out of Home Assistant: Not Available
The question every Home Assistant user will ask ("can I put my HA devices as buttons on the panel's screen?") has a clear answer: no. The "Sync Home Assistant Entities to Matter Fabrics" feature looks promising at first. It listed all approximately 460 HA entities with mapped capabilities: on/off, brightness, and color temperature for Hue bulbs, long press for Hue dimmer buttons. But this is a transit bridge designed to forward HA entities onward to Apple Home, Alexa, or Google. Synced entities never appear in the panel's own UI or its screen editor.
In a setup with HA as the only Matter platform, the sync attempt returned only "failed" with no explanation. HA's Matter server logs showed the panel never initiated the endpoint addition. This is likely a reasonable safeguard against syncing entities back to their origin fabric, but it is undocumented, and a single line of explanation in the dialog would save considerable troubleshooting time.
Local REST API and Web Portal
The panel runs eWeLink CUBE's local REST API on port 8081. After a physical confirmation on the panel (tap the device name seven times under Settings, then About), a long-lived access token is issued. From there, the screen can be woken via POST /screen/display/wake-up, brightness set manually or switched to auto via PUT /screen/brightness, and built-in sounds triggered via POST /hardware/speaker. The panel ships with a library of alert, doorbell, and alarm sounds (alert1 through 5, doorbell1 through 5, alarm1 through 5), making it usable as a local doorbell or siren with a single HTTP call. GET /bridge returns device info including IP, MAC, mDNS name, and firmware version.
The web portal on port 80 provides a full management interface with screen layout editing (Classic and 12 Simple layouts), theme selection, PIN protection per screen, device management, and Matter settings.

One gap: GET /devices, which the API documentation says should list and control sub-devices, returns HTTP 404 on firmware 4.9.0 despite documented support from version 1.5.0. The MQTT path covers this functionality.
Software and Linux Support
eWeLink CUBE OS and F-Droid
The panel runs eWeLink CUBE OS, an Android-based system that Sonoff shares with its iHost hub platform. Since firmware V4.0.0, F-Droid is available as an official menu item, with no ADB hacks and no root required. Apps install exactly as they would on any Android device. Google services are absent entirely, which in a single-purpose wall panel is more feature than limitation.
As a practical test, I installed the game Astro Loop from F-Droid. It ran smoothly with a natural frame rate and fully responsive touch input. The RK3326-S with 2 GB of RAM handles real Android apps without issue, which makes the contrast with the HA web dashboard experience all the more telling about where the bottleneck lies.

A note on the legacy developer mode that can be unlocked through the eWeLink app: according to the terms, enabling it blocks future firmware updates. With official F-Droid support on Gen2, there is no reason to use it.
Voice Assistant: the Standout Feature
Out of the box, the microphone and speaker are used only for intercom calls through the eWeLink mobile app. There is no built-in voice assistant. But because the panel runs real Android apps, there is a path that opens up something genuinely useful: the HA companion app's built-in Assist, connected to a fully local speech pipeline. I set up faster-whisper for speech-to-text and Piper for Swedish text-to-speech, both running as HAOS add-ons on the Home Assistant host (not on the panel itself).
The panel's Android granted microphone permission without issue, and I switched the office lights on and off by voice, with Swedish speech in and a Swedish spoken reply from the panel's speaker. Every step stayed entirely local, with no packets leaving the house. For a household that wants voice control without cloud services, this is the panel's strongest capability, even if it is not one Sonoff advertises.
Everyday Use
Living with the NSPanel Pro Gen2 settles into a clear pattern. It is a reliable local sensor and relay endpoint that wakes itself when you walk into the room, feeds Home Assistant with a rich set of entities over MQTT, and can sound a doorbell or alarm on command through the REST API. The proximity wake is fast and consistent enough that the panel feels ready when you approach it. At idle, the web portal reports 4% CPU and 9% RAM usage, leaving headroom for background tasks.

The Home Assistant companion app, installed via F-Droid and set as the home app, provides a usable if imperfect dashboard experience. A generic HA dashboard is noticeably sluggish on the 480 x 480 screen. A dedicated dashboard built for that resolution works better. I built a fire alarm overview with room temperatures and a large silence-all-alarms button, and it is functional for daily use, with some touch lag on interactions. Since F-Droid games run more smoothly than the HA web view, the bottleneck is clearly web rendering rather than the hardware.
The MQTT integration setup has one notable UX trap: the dialog asks for an IP address, port, username, and password without specifying that it wants the MQTT broker's credentials (port 1883), not Home Assistant's (port 8123). Entering the wrong values produces only "Invalid IP or Port" with no guidance.
Local audio playback through HA works well. A recorded 5-second WAV file played back correctly, with status progressing through Playing to Stopped. URL-based playback failed in testing (status went from Preparing to Stopped with no audio), and the URL text field has a 255-character limit that cannot accommodate HA's signed media URLs, which typically run to about 295 characters. A workaround exists through publishing directly to the MQTT command topic.
The relay widgets disappeared from the panel's home screen once during testing without a clear cause and had to be re-added manually through the screen editor. The panel integrates well as a Zigbee coordinator for Sonoff's own sub-devices: an eWeLink S20 smart plug connected as a sub-device could be added as a widget on the panel's screen, showing that the native UI works for the eWeLink ecosystem's devices, just not for Home Assistant's.
Verdict
The Sonoff NSPanel Pro Gen2 is a compact Android-based wall panel with Zigbee radio, dual relays, and more openness than a first look might suggest: official F-Droid support without root, local MQTT with approximately 40 exposed entities, a local REST API for screen and audio control, and a functional Matter bridge. As a complement to Home Assistant, it fills a specific and valuable role. It is a wall-mounted endpoint that feeds HA with proximity, light, relay, and audio entities, wakes when someone enters the room, can ring a doorbell on command, and, with the companion app and a local speech pipeline, listens and responds by voice without touching the cloud.
It is not a Home Assistant control panel. The panel's own UI does not surface HA entities, and the web dashboard path through the companion app is too sluggish to serve as a primary touch interface. For anyone whose main goal is their entire smart home laid out as buttons on the wall, a dedicated tablet in a wall mount remains the more direct solution.
At around $117 (€110), the NSPanel Pro Gen2 sits in the same price range as a small Android tablet, but with built-in Zigbee coordination, Matter bridging, dual relays, and a proximity sensor that a tablet cannot match. For Home Assistant users who want a local wall-mounted sensor and relay node with room for tinkering and local voice control, it earns its place on the wall.



