Updating the system WebView
An outdated WebView is the most common first-run failure on these panels, so it is the first thing to check when a dashboard will not draw.
The panel app’s built-in renderer relies on Android’s system WebView, and most of these panels ship with one far too old to run a current Home Assistant frontend. Out of the box that can produce a blank or broken dashboard, missing cards, or “browser not supported”. A supported panel can get a verified WebView from Home Assistant, as the next paragraph describes. The Electron WF1589T and ZHICAI SMT1019 have Google Play, so update Android System WebView from the Play Store on the panel, or use the Play WebView development channel.
In the unreleased 1.0.0-rc2 version, installation and panel-app updates started from Home Assistant can also install a verified compatible WebView. This needs a supported profile, a non-Play-managed provider with the same package and signer as the selected build, and a permitted installation route. If that update remains unfinished, choose Try again in the panel’s update Repair. It checks existing work before requesting another attempt; there is no scheduled retry. An old engine does not prevent setup and pairing, but the dashboard may still fail to display. The TPA10’s signature-locked stock provider still needs its documented root swap before a differently signed replacement can be used.
Manual fallback
Section titled “Manual fallback”Use the existing method for your panel below when the managed route is unavailable. This is hardware work: unlike installing and updating Panel Assistant, it needs a computer with Android’s adb tool. A direct adb sideload of the standard Android System WebView (package com.android.webview) needs a build matched to the panel’s Android version and ABI, with no third-party app store involved.
Stock versions and known-working replacements
Section titled “Stock versions and known-working replacements”“Stock” is what the vendor firmware ships from the factory, verified from firmware inspection or a live device. “Replacement” is what is confirmed working after installation. Redistributable builds are mirrored as ha-paneld release assets; sideload one with adb install -r <file>.
| Panel | ABI | Stock (vendor firmware) | Replacement | Download |
|---|---|---|---|---|
| NSPanel Pro 86P (PX30) | arm64-v8a | Chromium 107.0.5304.105 on firmware 1.5.0 and 3.5.1; 131.0.6778.200 on 4.0.12 | LineageOS 138.0.7204.63, the last build for Android 8.1 | release asset, APKMirror |
| NSPanel Pro 120P (PX30) | arm64-v8a | Chromium 129.0.6668.70 on firmware 4.0.12; other firmware not established | LineageOS 138.0.7204.63, verified on the 120P; Android 8/9 major ceiling | Use the 138 release asset above |
| TPA10 (rk3566) | armeabi-v7a | Chrome 83 (com.android.webview), too old for a current Home Assistant frontend |
LineageOS SystemWebView 150.0.7871.63. Vanilla Chromium, so camera streams autoplay (Cromite 147 blocks autoplay and is kept as a fallback). Signature-locked: needs the root swap, not a plain sideload. | arm asset |
| WF1589T (rk3576) | arm64-v8a | Google Play WebView, updated automatically | Update through the Play Store; no sideload needed | none |
| S9E (rk3566) | arm64-v8a | Chromium 83.0.4103.120 on 2024-07 firmware; 131.0.6778.200 on 2025-12 firmware | Not established on either firmware; root and userdebug alone do not verify a replacement | none |
| SMT1019 (rk3576) | arm64-v8a | com.google.android.webview 124.0.6367.179, Android 14 with Google Play |
Update Android System WebView from the Play Store; no sideload needed. Do not sideload a com.android.webview build: a product overlay supplies this panel’s provider list, so a sideloaded provider may not be selected |
none |
| ZX-SMT156 (RK3566_T) | arm64-v8a | Google WebView 149.0.7827.164 (reporter firmware) | Update through Google Play; no fixed reachable ceiling established | none |
| Shelly Wall Display, original (MT6580) | armeabi-v7a | unknown (Android 7 base ROM) | com.google.android.webview 119.0.6045.194 from the official Shelly ZIP; see the Shelly Wall Display family page |
none |
| Shelly Wall Display X2 (SC7731E) | armeabi-v7a | unknown (Android 8.1 base ROM) | Not established; check adb shell dumpsys webviewupdate |
none |
| Shelly Wall Display X2i (RK3326-S) | arm64-v8a | Chromium 131.0.6778.200 on factory firmware 2.5.4 | Chromium 131, vendor only; no newer Shelly-signed provider available | none |
| Shelly Wall Display X1i (arm64) | arm64-v8a | unknown (Android 11 base ROM; not in the Shelly OTA) | Not established; check adb shell dumpsys webviewupdate |
none |
| Shelly Wall Display XL | arm64-v8a | Google WebView 131.0.6778.105 on reporter firmware | Not established; the installed signer and update route are unverified | none |
| Meta Portal 10-inch (2nd gen) | arm64-v8a | Meta WebView, Chromium 131.0.6778.39 | Chromium 131, vendor only; no newer Meta WebView available | none |
All mirrored builds are in the Panel WebView mirror release, a community list of known-working versions. If you have one working on another panel or version, contributions are welcome.
Vendor-locked panels
Section titled “Vendor-locked panels”The Shelly X2i is limited to Chromium 131 on the verified firmware: Android accepts only Shelly’s signature for an update, and rejects a sideloaded Google provider. The Meta Portal 10-inch (2nd gen) is also limited to Chromium 131: its locked provider list accepts only Meta’s WebView. On the verified stock firmware, only the vendor can supply a newer accepted engine, and none is available. The community Portal provisioning research has not established a qualified WebView upgrade route. Chromium 131 no longer receives Chromium security fixes. This does not establish a current dashboard failure. Other Portal models are unverified; do not assume they share the measured model’s version or ceiling.
Sideload and verify
Section titled “Sideload and verify”-
Download a current Android System WebView APK with the package name
com.android.webview. LineageOS System WebView is the recommended build across Android versions: 138 is the last major for Android 8/9, and the mirrored 150 builds require Android 10 or later and a verified installation route. It is vanilla Chromium, so it does not carry Cromite’s autoplay block that stops Home Assistant camera streams. It is freely redistributable. A matching package name alone does not establish provider eligibility or signer compatibility. Match your panel’s ABI and use only an established route for its firmware. -
Sideload it. This needs no root:
Terminal window adb install -r android-system-webview.apkIt installs to
/data/appand supersedes the stale stock WebView. -
Verify the active provider and version:
Terminal window adb shell dumpsys webviewupdate | grep "Current WebView package"
If the panel lists more than one provider, select the new one explicitly:
adb shell cmd webviewupdate set-webview-implementation com.android.webviewor use Developer options, WebView implementation.
We Home Assistant and everything the Open Home Foundation does.
Last updated:
Comments
Comments are kept in this page's discussion on GitHub, so loading them connects your browser to GitHub. This browser remembers the choice and loads comments on other pages when you scroll down to them.
Comment without a GitHub account