v0.9.4
Recommended installation
Do not use adb install directly. It installs the APK but does not complete ha-paneld's permissions, startup, configuration, and verification.
From macOS, Linux, Git Bash, or WSL, run:
curl -fsSL https://github.com/maxlyth/ha-paneld/releases/download/v0.9.4/ha-paneld-installer-v0.9.4.sh | bashThe ha-paneld-v0.9.4-manual-setup-required.apk asset is for manual or on-device sideloading. After installing it, open ha-paneld and complete the on-panel setup.
ha-paneld can now help explain why a built-in Home Assistant dashboard feels slow. New and updated cards on the Dashboard tab measure interaction delay, main-thread blocking, Home Assistant state traffic and renderer instability, then report a conservative likely cause. This helps distinguish an overloaded dashboard from excessive entity updates, memory pressure or another busy process on the panel.
Installation now uses the panel's active hardware profile in a single pass. The one-line installer starts ha-paneld during the installation run so the app can identify the panel before setup finishes. It then verifies the profile-specific access, helper and software requirements, while clearly reporting any optional or on-panel steps instead of silently applying them.
Added
- Built-in dashboard performance diagnostics — interaction timing is separated into input delay, event handling and presentation alongside state-update rate, payload volume, main-thread occupancy, long frames and renderer reloads. These measurements do not require root or WebView debugging when using the built-in renderer.
- Persistent performance history — content-free, minute-level dashboard measurements are retained for up to seven days and available through the API for before-and-after comparisons across page reloads and app restarts.
- NSPanel Pro Zigbee gateway health reporting and runaway protection — ha-paneld reports gateway state, join status, CPU use, restart history and containment results. An unjoined gateway with sustained high CPU, or a configured gateway on a supported layout that repeatedly restarts, can be switched off automatically after a startup grace period; a joined gateway is never stopped merely for high CPU use.
- Profile-aware installation in one pass — the one-line installer starts the app, waits for it to identify the panel profile, then verifies the access, helper and software requirements for that hardware before reporting the installation complete.
Changed
- Full panel backups now preserve more recoverable state — backups include configuration, custom profiles and entity-filter choices, with optional Home Assistant Companion login data. Supplying a passphrase creates an encrypted
.hpbbackup; creating an unencrypted.ziprequires explicit acknowledgement. - Persistent application state is consolidated into a local database — existing settings and learned entity data migrate automatically on first start, providing a common durable store for configuration, profiles and performance history.
- Root-helper upgrades are authenticated and recoverable — the installer verifies that the helper matches the release and retains the previous working installation until the app and replacement helper have both been verified.
- Custom profiles now use schema 2 — provisioning recommendations are separated from hardware capabilities and runtime configuration. Existing schema 1 revisions remain available for inspection and export but cannot be activated; ha-paneld falls back to a compatible bundled profile or Generic until the profile is updated.
- Profile recommendations no longer make optional system changes automatically — ordinary and fleet installation report recommended vendor-package changes instead. Existing package controls explicitly selected by the user continue to work and reapply at boot.
Fixed
- Dashboard screenshots remain visible while refreshing — returning to Dashboard shows the last successful capture immediately and replaces it only after a fresh screenshot has loaded; a slow or failed capture no longer blanks the card.
- Panel capability reporting is easier to interpret — the effective WebView rendering engine leads over stale package-reported versions, helper-backed root capability is not presented as a failure, and operational details such as state convergence, MQTT authentication timing and audio playback are separated from core panel information.
- Successful installation is no longer reported as failed because a later optional recommendation could not be completed — required installation and startup failures still fail the run, while optional actions are reported separately.
- Configuration changes and shutdown no longer leave duplicate or stale background operations running — superseded work is collapsed or cancelled once its result is no longer relevant.
- WF1589T LED ownership is reported accurately — the conflicting vendor LED service is presented as an optional, reversible package-control recommendation rather than being changed automatically.
- Large backups and Companion login restores use bounded file-backed processing — backup, encryption, upload, validation and restore no longer need to hold the complete archive in memory.
Upgrade notes
- Custom profiles created for schema 1 must be updated to schema 2 before they can be activated.
- Existing settings and learned entity data should migrate automatically, but an explicit panel backup is recommended before installing this release.
- Unencrypted backups now use
.zip; encrypted backups continue to use.hpb. - Profile-recommended vendor-package changes are no longer applied automatically. Review the post-install guidance if a hardware feature depends on one.