Native KDE Plasma 6 Widget for Home Assistant (Qt6 / Kirigami)

Hi everyone,
As a Linux user, I’ve noticed a lack of modern, native KDE Plasma 6 widgets for Home Assistant. Most existing Plasma solutions are either deprecated, unmaintained, or rely on heavy web-wrappers.
I am planning to develop a 100% native, lightweight Home Assistant widget built specifically for KDE Plasma 6 using Qt6, Kirigami, and PlasmaComponents3.
Before writing the codebase, I want to gather feedback from the HA community to understand what features and controls you’d like to see on your desktop.
Planned Architecture & Core Concepts:
100% Native Plasma 6 Integration: Built with Kirigami 3 and Qt6. No Electron or WebViews. It fully respects your system’s Breeze theme and color palette (Light/Dark/Custom).
Real-Time WebSockets: Direct connection via HA WebSocket API for instant state updates (ws:// / wss://).
mDNS Auto-Discovery: Automatic discovery of local HA servers on your network (http://homeassistant.local:8123).
Dual Form Factors:
Panel Popup: Quick access from your system tray (Favorites, Area/Room views, Quick Toggles for lights and switches).
Desktop Cards: Modular standalone widgets placed directly on your wallpaper (e.g., Climate/Thermostat card, Power Consumption gauge, Weather/Sensors).
Conky-Style HA Template Card: A specialized card that accepts Jinja2 templates (e.g. {{ states(‘sensor.temp’) }}°C) and renders custom formatted text/data on your desktop.
Native System Notifications: Integration with KNotification for critical alerts (leaks, security triggers).
Questions for the Community:
Would you use a native Plasma 6 widget to monitor and control your HA instance?
What entities/controls are MUST-HAVES for your daily desktop workflow? (Lights, Climate/Thermostats, Media Players, Power Meters?)
Do you prefer a System Tray Popup or Desktop Widgets?
Looking forward to your thoughts, suggestions, and feature requests. If there is enough interest, I will open the GitHub repository and share early dev builds soon!

I’ll give it a try. Keep us updated here. I’m bookmarking this. I don’t have any feedback because I don’t have any idea what to expect. If it works like the firefox interface thru the browser, I’m probably in.

You use KDE 6?

KDE 6.3.6 on Debian 13 here. Bookmarking, will test and feedback, when something is done :wink:

Hi
Thanks for the share and very interested :wink: Runs KDE 6.3.6 on Debian 13.
I’d like to get the widget to be able to display some sensors status, get access at some media players and some switches :wink:
Thanks

Thanks everyone for the warm response and for bookmarking the thread! Great to see fellow KDE Plasma 6 users here.
@vincen — Sensors, media player controls, and switches are definitely going to be a core part of the MVP!
To give you a better idea of the UI quality and architecture I’m aiming for, you can check out my previous Plasma 6 widget, Crypto-hub on the KDE Store. It uses the same native Qt6 / Kirigami framework.
Question for you all regarding the Taskbar Panel:
As I’m currently designing the Panel Popup (the applet that opens when clicking the icon on your taskbar/system tray), I’d love your advice on how you’d prefer it to be structured:
Organization: Would you prefer the popup to be organized by “Favorites / Quick Controls” (a custom list of your most used switches/lights) or grouped by “Areas / Rooms”?
Panel Content: What controls/sensors are most critical for you to have just one click away on the taskbar versus placing them as standalone cards on the desktop wallpaper?
I’m currently setting up the GitHub repository and initial UI components. I’ll share the link here shortly so you can follow the progress and test early builds.
Looking forward to your input!

why not load a dashboard tab in it ? it’s the way the extension I use in FF works: I create a dedicated tab in my dashboard and it’s that tab that will be displayed by the extension in a little popup when I click on it :wink:

Regarding the design, I plan to do this

But the only question is what exactly should be displayed when you click on the icon on the taskbar. Pay attention to the screenshots.

That’s definitely a popular approach used by browser extensions and web-panel applets! It’s super convenient because you can just use your existing Lovelace/Mushroom dashboards.
However, for this project, I’m intentionally avoiding embedded WebViews / QtWebEngine for a few key reasons:
Resource Footprint & Speed: Embedding a browser Engine into a Plasma applet uses a lot of RAM (often 200MB+) and has a slight load delay. A native Qt6/QML widget loads instantly and uses minimal memory.
Native KDE Aesthetics: A web dashboard looks like a website inside a box. A native Kirigami UI seamlessly integrates with Plasma 6’s Breeze theme, active color scheme, fonts, and system sliders.
Desktop Integration: Native QML components allow deeper integration with Plasma features (like native taskbar badges, system notifications, and standalone desktop widgets).
So while building a native UI for entities takes more development effort upfront, the end result is a much faster, lighter, and truly integrated KDE experience!

I am also very interested and could be a tester.
I’m running Arch Linux (which means usually latest KDE Plasma, 6.7.3 as of now).
I wish you luck with your project!

Actually, I already have something to show you, but please give me a little more time.

If you are interested please follow this topic for a few weeks

Hey everyone!

Here are the first screenshots of the widget—couldn’t resist sharing a quick preview! If you have any wishes, ideas, or feedback, I’m ready to discuss them right here and now.

Just a reminder, this is far from finished—it’s only about 10–15% of what I have planned. Let’s just say, this isn’t a webview wrapper: it’s a fully native Qt6/QML Plasmoid communicating directly with HA over WebSockets. Because of this, we can achieve so much more here in terms of OS integration, responsiveness, and native Plasma look & feel.

It’s only a matter of time and ideas, so if you have any cool feature requests or thoughts on what you’d like to see in a native desktop widget, feel free to voice them!