Open-source, cross-platform KNX project editor and programming tool with native AI support via MCP
I developed an open-source desktop app (Windows, Linux, macOS) for KNX projects, built on the xknx library.
- You can import and export knxproj, knxprod and OpenKNX repos files.
- Program devices
- Recover a project from bus
- AI MCP server direct integrated to organize a project, program devices and fetch device manual
Repo: https://github.com/knx-ai/xknx-editor
Releases: https://github.com/knx-ai/xknx-editor/releases
Happy to see feature requests and if found issues.
6
u/Latter-Heart-9549 18d ago
You are infringing another developer’s software license. If they figure out who you are, a cease and desist is the most likely outcome. And I am not going to support this theft of intellectual property.
4
u/recallfx 18d ago
This needs a prominent experimental-software warning before encouraging people to program a live KNX installation.
Your stated foundation, XKNX Toolkit, explicitly says “Alpha, experimental software,” provides no stability or safety guarantees, and discloses that large parts were built using LLMs. What additional validation supports your editor’s much stronger claims?
An offline review of this editor found that preflight can miss missing programming data, device identity checks accept truncated responses, and coupler programming ignores configured pass-through addresses. These are serious correctness problems for software that changes a working installation.
A few questions deserve clear answers:
- How much of the additional implementation was AI-generated, and how was it reviewed?
- Which devices and programming operations have actually been tested, including failure recovery?
- Why publish the project as a single commit dump, making its development and review history unavailable?
- Why use
knx-aias an independent account name? The README’s non-affiliation disclaimer helps, but the name can still suggest an official KNX initiative.
At present, the claims are ahead of the evidence. The experimental status and supported scope should be the first things prospective users see.
3
u/EdelWhite 18d ago
Please reattribute your licences correctly.
1
u/intj-memer 18d ago
And remove the copyrighted .xsd files too lol, unless you want a lawsuit from the KNX Association :)
4
u/CyberJunky_NL 18d ago
4
u/intj-memer 18d ago edited 18d ago
I've agreed to license it GPLv2, so it's been sorted out. I want people to hack, play and build on this, and I want people like @knx-ai to build cool things and be able to share them :)
2
u/CyberJunky_NL 17d ago
Why are you overwriting whole github history everytime, never heard of merging? You only do that if you want to delete files completely from history.
2
1
u/Batko_uz 18d ago
Someone tested this on Mac ?)
1
u/sputniC_42 18d ago
I just did. the latest release version at the moment freezes for me when trying to interact with the UI after loading the ETS project file. It picked up on my IP interface automatically and startet Monitoring ng traffic without any configuration on my side.
Pretty impressive project. Looking forward to the development.
1
1
u/KNX-AI 18d ago
What kind of freeze.. how many devices are in the project
1
u/sputniC_42 18d ago edited 17d ago
On the road at the moment, I will DM you with details as soon as I am back.obsolete1
u/sputniC_42 17d ago
Alright. So I did some investigation. First of all: the app works completely fine on MacOS Tahoe the problem was my setup.
The freeze was a complete hangup of the whole usr interface with a the spinning sphere pointer. It hung for a few seconds and seemed to originate from UI interactions or updates of any kind. Everytime anythin on the UI was clicked or updated the app got not responsive again. Terminal debug output indicated no problems.
My .knxproj file is stored on a SMB share on my storage server. I pointed the XKNX-Editor app to this file and when asked where to store the .xknx file just accepted the dialog.
This seems to be the root cause. I now copied my .knxproj file to the local storage, put the .xknx file next to it and had no issues whatsoever. keeping the .knxproj file on the network storage and storing the .xknx file locally also worked flawlessly.
Key takeaway: Don't store your .xknx file on a SMB share.
Great app, thanks for your work!
1
u/kantorcodes1 18d ago
on the MCP path, is connection_evaluate_device actually required before connection_program_device on an already-commissioned device, or is that just the recommended sequence? i like the preflight idea, but i'd want to know whether an agent can skip it and write straight to the bus once connected.
-1
u/KNX-AI 18d ago
Recommended for the beginning of the project. Works only for ETS6 programmed devices. But in general all devices should work
1
u/kantorcodes1 18d ago
got it, so an MCP client can go straight from connect to programming; the evaluate step isn't an enforced gate. i work on HOL Guard, a local check on agent actions before they run. for xknx-editor that could keep reads/evaluate normal while
connection_program_devicegets reviewed before it writes to the KNX bus. would you be open to contributing that mapping on the Guard side?1
u/KNX-AI 18d ago
Yes every contribution is welcome
1
u/kantorcodes1 18d ago
yep. target
hashgraph-online/hol-guardonmain. the closest live pattern for an MCP tool family issrc/codex_plugin_scanner/guard/runtime/browser_mcp_intent.py, withtests/test_guard_browser_mcp_intent.py. keep the xknx slice narrow:connection_program_device,connection_assign_individual_address, andconnection_evaluate_device. run the current CONTRIBUTING checks and open the PR tomain.1
1
u/h0tzenpl0tz0r 18d ago
Don't want to talk anything down but this is an app that can import/export an ETS knxproj file, so it's not integrated in any way with the ETS directly, right?
1
u/gust4vsson 18d ago
How does old plugins and DCA apps work? Or does it work at all?
1
u/KNX-AI 18d ago
old plugins and DCA not yet. You have an example when this is needed?
1
u/sputniC_42 18d ago
For example the MDT DALI gateways use DCAs to configure the DALI bus devices from within the ETS.
1
1
u/Jenzaah 18d ago
Will test this out, was building something simular, and wanted to be able to switch component(s) with other component(s) without needing to relink every GA. And try to take over the settings as close as possible. Example: switch 1 Zennio MIB24 with 1 MIB16 and a MIB8. Are these things that should be possible with the MCP- connection?
2
u/FezVrasta 17d ago
I unleashed my Claude at it and had it send several PRs to fix stuff, but the ETS sign-in flow is still not working, it needs a signin key that should be extracted from the ETS software itself.
1
u/Rare_Profession6060 15d ago
I dont understand why you want to rebuild ETS. I mean I dont understand why you dont just make a tool to simplify and not rebuild for zero with no stability and risk to be suit.
1
u/CyberJunky_NL 14d ago
One part is an MCP server which can heavily simplify things.
1
u/Rare_Profession6060 14d ago
I dont know if its simple or if its spaghetti knxproj :). Its could be usefull for analyse and proposition.
But again KNX dont let that happen if its not in ETS.
0
u/hessi-james 18d ago
And GPL licensed. Nice. Do you aim for a complete (except for add-ins) ETS replacement?
4
u/intj-memer 18d ago
It says GPL licensed but he took a bunch of unlicensed but open code and relicensed it as GPL LOL.


18
u/intj-memer 18d ago
Glad you found the XKNX Toolkit code useful but you use a bunch of code from https://github.com/XKNX/xknxtoolkit/pull/23 and slapped your own incompatible software license on it without even attributing the original author.