Early software · no release yet

Open-source KNX engineering without ETS.

Open and edit ETS 6 projects, watch and diagnose the bus, and load devices from a project. A desktop application and a set of command line tools, written in Go.

Not affiliated with the KNX Association.

knxprogram · check only
$ knxprogram -pwfile pw.txt -gateway 10.0.0.5:3671 \
    -from 1.1.20 -target 1.1.32 \
    -expect-serial 00E1:03925BC3 house.knxproj

✓ device serial matches
✓ backup saved
plan  full load, mask 0x07B0
diff  3 segments differ

nothing was written (no -write)

Illustration. Without -write the tool only reads.

Work with ETS 6 projects

Open password-protected .knxproj files. Edit topology, devices, group addresses, data types, parameters and group object links, with undo and a change list. Compare two project files. Save as a new file.

See and test the bus

Discover KNXnet/IP gateways, connect by tunnelling (UDP or TCP), watch telegrams decoded with the project's names and data types, record them, scan a line, read device information, find devices in programming mode.

Program devices

Build the memory image a device should hold, compare it with the device, and write it, with a backup and a serial number check. Verified on real devices of five mask families.

What you can do with it

Inspect a project

Open a project from a customer or a backup and browse devices, places, group addresses and who talks to whom, without ETS. Print a report. See which path a group address takes through lines and couplers.

Maintain group addresses

Export the group address list to CSV or XML, change it in a spreadsheet, import it back. The import is previewed and one undo reverts it.

Compare versions

Compare the open project with an older file and get a list of what differs: devices, parameters and links, by name.

Troubleshoot an installation

Connect to a gateway and watch the telegrams with names and values from the project. Record them to a file. Scan a line and compare the answers with the project. Read mask, serial number and order information from a device.

Reload or commission a device

Check what a device holds against the project, then write the application, parameters and group address links. Backup and serial number check come first.

Manage product data

Import .knxprod files from manufacturers, or install them from the online index, and add a product to a project from the catalog.

Tinkerbus compared with ETS 6

Status as of the current source tree. "Done" means implemented and tested; where hardware or ETS itself was not used to check a feature, the note says so. The long form is on the comparison page.

Projects

  • Open password-protected ETS 6 .knxproj Done
    ETS 6 projects only
  • Edit areas, lines, devices, buildings, rooms Done
    Undo, redo, change list
  • Edit group addresses and data types Done
    Includes CSV and XML import and export
  • Link and unlink group objects Done
    Objects of modules that are not linked yet are not offered
  • Edit device parameters Partial
    No translations, nested modules, repeated or calculated parameters
  • Add a device from a product database Done
    Parameters start at their defaults. Result not checked in ETS 6
  • Compare with another project file Done
    Parameters and links listed by name
  • Save Partial
    Always a new file. The ETS project signature is no longer valid, ETS 6 may refuse or warn
  • Create a new project from scratch Not yet
  • Trade views, snapshot history Not yet
  • Import ETS 4 and ETS 5 projects Not yet

Reports and catalog

  • Printable HTML report, device CSV Done
    Print or save as PDF from a browser
  • Import and browse .knxprod files Done
    Finds files in your download folders
  • Optional, off until you agree
  • Download from the KNX marketplace Not yet
    Needs a login
  • Licence handling Not yet

Bus

  • KNXnet/IP discovery and tunnelling, UDP and TCP Done
  • Live monitor with decoded values, CSV recording Done
  • Send group read and write Done
    Off by default, previewed, rate limited
  • Line scan, device information, programming-mode search Done
  • KNXnet/IP routing Partial
    Library code only, not used by the app or the tools, not tested on hardware
  • KNX USB interfaces Partial
    Library code, Linux only. The tools can list interfaces, nothing connects over USB. Not tested on hardware
  • IP Secure Not yet
    Not implemented

Programming

  • Full load of an application program and settings Partial
    Five mask versions, see below. Other devices are refused
  • Partial load: parameters, group communication Partial
    Plans match reference downloads. Not yet tried with a changed project on real hardware
  • Assign an individual address to a new device Done
  • Filter table of line and area couplers Partial
    Preview in the app. Written by the command line tool for the IP router that was tested

Built so that mistakes are hard

Anything that changes a device or puts a telegram on the bus is behind a deliberate step.

Sending is off

After connecting, the "Allow sending" switch is off. It switches off again when you disconnect. Writes are previewed and confirmed one by one, and telegrams are limited to four per second.

Read-only until you say so

knxprogram without -write only reads the device, saves a backup and prints the plan. The app has the same check step, and writing needs you to type the device address.

The device is the one you mean

knxprogram refuses to start without -expect-serial, and -write refuses to start without -backup.

Your project is never overwritten

Saving always writes a new file.

No surprise servers

The online catalog is off until you agree, and sends only search words and file ids.

Verified on real devices

Loading a device has been done with real hardware for these mask versions. The plans are also compared with recorded reference downloads in the test suite. Masks that are not in this table are refused.

MaskDevice familyVerified
0x0021 (BCU 2)Lingg & JankeFull download and address assignment on real devices
0x0705MDT BIM M112Real reload of one device
0x07B0 (System B)IP interface, DALI gateway, gong, heating actuatorsReal reload of five devices
0x091AIP router (secure variant)Real reload and one group communication write
0x0012 (BCU 1)ESYLUXReal reload, one group address verified

Not verified on hardware: KNXnet/IP routing, KNX USB, writing device properties, line scans of lines other than 1.1, and opening a project saved by Tinkerbus in ETS 6. Programming guide · Open items

Where the project stands

Tinkerbus is young: the first commit is from October 2026, there is no release and no version number, and a licence has not been chosen yet. It is not a replacement for ETS. If you need a project signature that ETS accepts, IP Secure, new projects or the full catalog of devices ETS can program, use ETS. If you need to inspect, script, fix or troubleshoot, Tinkerbus may already do what you need.

Tinkerbus is an independent project. It is not affiliated with, endorsed by or sponsored by the KNX Association. KNX and ETS are trademarks of the KNX Association. See Legal.