Skip to content

Upgrade deCONZ to trixie - #4808

Merged
agners merged 4 commits into
home-assistant:masterfrom
mattreim:deCONZ-to-trixie
Aug 31, 2026
Merged

Upgrade deCONZ to trixie#4808
agners merged 4 commits into
home-assistant:masterfrom
mattreim:deCONZ-to-trixie

Conversation

@mattreim

@mattreim mattreim commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

As discussed here, I created a test version using Trixie and have been testing it without issues for several days now, but a reinstallation of the app will likely be necessary.

Summary by CodeRabbit

  • New Features

    • Updated the deCONZ add-on to version 8.8.0.
    • Added support for the latest deCONZ Qt6 release on supported architectures.
    • Updated the underlying system environment to Debian Trixie.
  • Improvements

    • Improved startup, shutdown, and environment handling.
    • Enhanced TigerVNC reliability and visibility of startup messages.
  • Bug Fixes

    • Corrected log message timestamps during shutdown.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5b925a6d-3eb7-4d67-8f0d-f87688d55015

📥 Commits

Reviewing files that changed from the base of the PR and between 23d02b9 and f7651eb.

📒 Files selected for processing (1)
  • deconz/CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • deconz/CHANGELOG.md

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The deCONZ add-on updates to version 8.8.0. Build images move from Debian Bookworm to Trixie. The Dockerfile installs Qt6 dependencies and downloads Qt6 Debian packages. Service scripts load the container environment and adjust TigerVNC startup.

Changes

deCONZ runtime migration

Layer / File(s) Summary
Trixie and Qt6 packaging
deconz/build.yaml, deconz/Dockerfile, deconz/config.yaml, deconz/CHANGELOG.md
Build images use Debian Trixie. The Dockerfile installs Qt6 dependencies and downloads Qt6 Debian packages from GitHub releases. The add-on version changes to 8.8.0, and the changelog records the migration.
Service environment and TigerVNC startup
deconz/rootfs/etc/services.d/deconz/finish, deconz/rootfs/etc/services.d/nginx/finish, deconz/rootfs/etc/services.d/deconz/run
The finish scripts run through /usr/bin/with-contenv bashio. The deCONZ startup script creates /data/.config and runs TigerVNC in the foreground without suppressing output.

Estimated code review effort: 2 (Simple) | ~15 minutes

Merge Risk: ⚪ Minimal · up to f7651

This upgrade does not have any identified merge-blocking risk at the current head and is ready after normal checks and review.

Suggested reviewers: agners

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: upgrading deCONZ to Debian Trixie.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@agners agners left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for tackling this!

but a reinstallation of the app will likely be necessary.

If we can we should really avoid this. Hm, I see, in a local test with this applied, the VNC server fails to start:

[12:08:50] INFO: Websockify waiting for VNC to start
[12:08:50] INFO: Starting VNC server (local - yes)...
[10:08:51] WARNING: Halt app

With the help of Claude I found the root cause:

Debian jumps tigervnc 1.12 (bookworm) → 1.15 (trixie). In 1.13+ the user dir moved from ~/.vnc to ~/.config/tigervnc, and Debian's wrapper auto-migrates it (/usr/share/perl5/TigerVNC/Config.pm:1425-1435):

  if (!(-d $opts->{'vncUserDir'})) {           # ~/.config/tigervnc missing
    if (!(-l $vncLegacyDir) && (-d $vncLegacyDir)) {  # ~/.vnc exists
      if (!mv($vncLegacyDir, $vncUserDir)) {
        print STDERR "$PROG: Could not migrate ...\n";
        exit 1;

mv can't create the parent. Your /data has .vnc but no .config at all.

Fresh /data works fine (exit 0) — which is precisely why mattreim's test install ran for days and why he assumed a reinstall was needed.


Add the following to the top of services.d/deconz/run should do the trick:

# tigervnc >= 1.13 migrates ~/.vnc to ~/.config/tigervnc, which needs ~/.config to exist
mkdir -p /data/.config

Btw, maybe also remove &> /dev/null from tigervncserver, that makes any future issues immeaditly visible.

Unrelated and pre-existing: The run scripts use #!/usr/bin/with-contenv bashio so they get TZ → local time (12:07 CEST). The finish scripts use plain #!/usr/bin/env bashio with no with-contenv, so no TZ → UTC (10:07). Same instant, different clock. Adding with-contenv to the finish scripts would make the logs consistent.

@home-assistant
home-assistant Bot marked this pull request as draft August 31, 2026 10:28
@home-assistant

Copy link
Copy Markdown

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@mattreim

Copy link
Copy Markdown
Contributor Author

@agners Thank you very much for the detailed troubleshooting and the suggested solutions.

@mattreim
mattreim marked this pull request as ready for review August 31, 2026 11:19
@home-assistant
home-assistant Bot requested a review from agners August 31, 2026 11:19

@agners agners left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, other then the nit, looks good to me!

Comment thread deconz/CHANGELOG.md Outdated
@home-assistant
home-assistant Bot marked this pull request as draft August 31, 2026 14:03
Co-authored-by: Stefan Agner <stefan@agner.ch>
@mattreim
mattreim marked this pull request as ready for review August 31, 2026 14:49
@home-assistant
home-assistant Bot requested a review from agners August 31, 2026 14:49

@agners agners left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@agners
agners merged commit ab41621 into home-assistant:master Aug 31, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants