login about faq

Please share your knowledge on existing KNX open source or free software.

This is a community wiki question. Feel free to add your entries to the table.

Software name Description and Functions Supported protocols or devices
aGoControl "aGoControl" is a framework for device control. It uses an AMQP Enterprise Message Bus as communication backend. Lightweight protocol, readable by humans and machines. It has a modular architecture. Device schema defined in YAML. It can run on embedded devices like the Raspberry Pi and multiple plug computes like Sheevaplug and Guruplug. It makes use of EIBD to connect to the KNX bus. It is possible to combine the aGoControl and Asterisk PBX to be able to call home and switch on or off any device connected to the installation. Browser based acces and administration with backend on Linux systems. Python and C++ used in several modules. The name "ago" comes from a greek word that means “I command”. Z-Wave; KNX; EnOcean; X10; 1wire; Asterisk PBX; Dreambox/Enigma2; Onkyo eISCP AVR; Chromoflex USP3 RGB LED dimmer; APC Power Distribution Unit (PDU); DMX Interfaces via the OpenLightingArchitecture (OLA); Phillips TV sets (Jointspace); Arduino Firmata; IRTrans Ethernet consumer infrared blaster; Kwikwai HDMI CEC Ethernet bridge; Rain8net irrigation controller; Webcam support; and BlinkM LED
Calaos A French open source home automation cliente/Server package, with a focus on touch screen interfaces. Uses the Wago KNX interface 750-849. Relies on the Logitech Squeezebox for whole house audio. KNX
Calibri Calibri is a Java program to read and write telegrams on an EIB/KNX BUS making use of the Calimero libraries. Calibri's attempt is to abstract the whole BUS system to the developer by representing the telegrams on a MySQL database. In this way KNX bus telegrams can be read or written with sql commands. Calibri's database contains three main tables: TelegramsRead; TelegramsWrite; EibLogger; KNX
Calimero Calimero is a collection of Java APIs that together form a foundation for further EIB/KNX high level applications (including remote access and control) KNX
CometVisu/Open Automation Fully browser-based KNX visulation with realtime status feedback and sliders running on WireGate Multifuntion-Gateway. It can also be used as a visualization front-end for OpenHab KNX; 1-Wire; XPL
Dog 2.x - Domotic OSGi Gateway Dog is a software-based gateway used for controlling domotic environments in a vendor-independent way, thanks to its high-level semantic device modeling strategy and its driver architecture that allows to support different domotic plant technologies. Java based KNX; Echelon; Modbus; Z-Wave; BTicino OpenWebnet
Domotiga Multiprotocol. It is written in Gambas Basic and runs on Linux. You can read all kinds of sensor values with it, let it detect motion and schedule lights at certain times by the use of several hardware, . 1-Wire; Arduino; Asterisk; Barcode; Bluetooth; Bwired; CallerID; Cameras; CF iViewer; CUL; CurrentCost; Denon; DMXPlayer; DSC; E-mail; EZcontrol; FritzBox; GenericIO; HDDTemp; HomeMatic; Integra Onkyo; IPVideo; IRMan; IRTrans; JeeLabs; Jerome; JSON-RPC; K8055; KMTronicUDP; KNX EIB; LCD4Linux; LEDMatrix; LIRC; Meteohub; MQTT; Network Ping; Notify My Android; OpenRemote; OpenTherm; P2000; Pachube; Pioneer; PLCBUS; Plugwise; Prowl; Pushover; PwrCtrl; RFXCom; RRDTool; Server Stats; Shell; SmartVISU; Smart Meter; Sony AIBO; Sony Visca; Sound; SqueezeServer; Telnet; Thermostat; ToonThermostat; Twitter; UPS; Velbus; Viera; VoiceText; WeatherBug; WeatherUnderground; Weeder; X10; X10Cmd; X10 Mochad; Xanura CTX35; XML-RPC; XMLTV; XPL; YouLess; Z-Wave OpenZWave; Z-Wave RaZberry
EIBControl - Linux EIB Server Provides a framework for interfacing with the European Installation Bus (EIB).It allows users to control EIB devices from their PC.It is designed for standardized bus coupling units 2 (BCU2) using the FT1.2 protocol over RS232. KNX
EIBD ( part of BCU SDK ) EIBD provides over a TCP/IP and/or unix domain sockets access to the EIB bus. Provides a KNXnet/IP Routing and Tunneling server. C Language KNX
EIBD_Lua A Lua language client for EIBD . It can be used in scripts or integrated into another Lua programs. KNX
EIBD_Ruby A Ruby language client for EIBD . It can be used in scripts or integrated into another Ruby programs. KNX
EibnetMux Several KNXnet/IP gateways are limited only to one concurrent connection. The KNX programming tool ETS uses one connection. A visualisation software requires a second one. And a domotic control solution obviously also needs to communicate on the bus. EIBnetmux extends the IP-reach of the KNXnet/IP gateways and supports multiple concurrent clients. In addition, it features a TCP/IP socket-based protocol which allows applications to retrieve and set data from/to the bus. KNX
EIB Server and EIB Excel Tester The EIBserver is a software module designed for WIN32 platforms (Win2000 and XP). EIBserver is a communication gateway, connected to the EIB using a serial RS-232 interface and providing a TCP/IP socket interface for your own applications. You can use EIBserver local ( or as part of your home-server and have access from anywhere - even from any WLAN device. Neverthless you still have to develop your own application to visualize and control your EIB devices, but EIBserver makes it easier because it encapsulates all the EIB protocol. There is no need for you to develop a TCP/IP socket: the EIB2net-OCX, which is an Active-X control, has everything built-in. If you are developing with Delphi, Visual Basic or even Excel, you can use the EIB2net-OCX to connect your application to the EIBserver KNX
EIB Suite The EIB Suite project is a complete KNX integration suite providing cross platfrom library and applications. The applications are: EIB Server; WEB Server; SMS Server; AMX Server; Relay Server; EIB Voice; EIB Console; EIB Emulator. From the developer of KNXDroid KNX
Fhem Fhem is a Perl server for house automation. It is used to automate some common tasks in the household like switching lamps / shutters / heating / etc. and to log events like temperature / humidity / power consumption. The program runs as a server, you can control it via web-frontends, telnet, command line program or TCP/IP directly. Multiprotocol eQ3 specific: FS20; HomeMatic; MAX!; EM1000; FHT80b; HMS; S300; ESA2000; KNX; ZWave; EnOcean; X10; FRITZ!Dect; Intertechno; HomeEasy; Philipps HUE; 1Wire; Firmata; webio; panStamp; LIRC; JeeLink; RFXCOM/RFXTRX; TellStick; Davis VantagePro2; Oregon Scientific; Allnet; TVs from Samsung/Panasonic/LG/Philips; devices from Sonos/Squeezebox; amplifier from Yamaha/Denon/Onkyo; iTunes/AppleTV; Enigma2; XBMC Works with the following atachable devices : Busware CUL, CUN, EUL, TUL; FHZ1000 or FHZ1300; X10 CM11; WS300; EM1010PC and attached EM1000WZ, EM1000EM or EM1000GZ; reading attached SCIVT devices; reading attached M232 devices; reading attached WS2000/WS25000 devices, also via raw network converters (xport); DS9490R or DS9097; KM271; RFXCOM RFXtrx433 transceiver or RFXCOM USB or LAN based 433 Mhz RF receivers ;ELV USB-WDE1 ; eQ-3 HomeMatic Lan Configurator; EnOcean TCM120 TCM310
HomeWatcher Homewatcher is an opensource Python implementation of a configurable alarm system that can interact with KNX devices through a LinKnx server. It is aimed at providing an easy-to-configure alarm system to those KNX users that do not want to bother writing source code. Takes advantage of your KNX motion or opening sensors to put your home under surveillance. From the end user's standpoint, the only thing to do is to put together an XML configuration that describes all sensors, the various surveillance modes and what should be done when an alert is raised (send an email, put lights on, trigger a siren, etc.). Homewatcher is built on top of a Pyknx communicator to interact bidirectionally with LinKnx. KNX
HS-Gateway: hsd hsd provides part of the EIBD TCP/IP interface to communicate with EIB/KNX bus. EIBD uses the EIBNet/IP protocol, while hsd uses the KO-Gateway provided by GIRA Homeserver. For a using program, like Fhem , it is transparent if hsd or EIBD is running in the background. Because of that, fhem can be configured with the well known eibd settings while using hsd. KNX
Jeedom Multi protocol software. Made to run on a Raspberry PI. Provides a cloud based market where plungins and scripts for multiple protocols are available. Some for free and some for a small charge. Requires EIBD TCP/IP interface to communicate with EIB/KNX bus KNX; Z-Wave; EnOcean; oneWire, Denon amplifier; Freebox OS; Freebox TV; Karotz; LiveNotifier;Nabaztag; Prowl ; Pushbullet; pushing Box; S.A.R.A.H; Sonos;Netatmo; Yahoo Weather; SNMP; Pioneer VSX; Samsung TV; SqueezeBox; XBMC; Google Calendar; CurrentCost; Jeenode; Philips Hue;RFXcom; xPL
KNX Commander for XBMC KNX Commander is a XBMC addon. It makes use of LinKnx to interact with the KNX bus. It allow you to control your knx home automation solution with XBMC player. You need to have a KNX solution and the couple EIBD + LinKnx installed. The aim of this addon is to associate XBMC player status with a action on KNX solution. For exemple : When XBMC starts, the video projector starts and the screen go down. when you play a video, the light decrease slowly When you press pause, the light increase slowly up to 50%. when the film is finished or you stop the video, the light increase slowly up to 100% KNX
KNX Controller The KNX Controller App allows you to control your lights, shades and thermostats in your house with a Android Smartphone. KNX
KNXd This is a fork of EIBD v0.0.5 with fixes and enhancements (cEMI for new USB interfaces, ETS5 support) - currently under development. KNX
KNX@Home and KNX@Home 2 KNX@Home 2 consists out of three parts: A Service, which connects a Computer to your EIB/KNX Bus System at home, and two server applications. Only thing you need for that is a web-enabled device like a smartphone or tablet pc. For connection to the KNX bus system a KNXnet/IP Router is used. KNX
KNX Logger Free program that collects data from KNX bus for later analysis, the information is saved in a CSV file, allowing it to be easily imported by into Excel for analysis or graphs creation. KNX
KNX Monitor Python tool to log and decode KNX bus messages. Includes functionality to specify a number of days to decode/show. Requires EIBD KNX
KNXNetIPMux KNXNetIPMux is a software addon to the KNX-Installationbus. It extends the accessiblity of the IP gateway infrastructure, by providing multiple client connections to one single IP gateway device. It runs on Windows systems. KNX
KNXnet/IP Wireshark plugin This Wireshark plugin allows to dissect KNXnet/IP packages but not the payload which means it does not dissect encapsulated cEMI frames. This plugin is not bounded to a dedicated TCP or UDP port. Instead, it is implemented as so called "heuristic" dissector. Every TCP and UDP packet will be analysed by this plugin. If it fulfills some criteria (like the basic structure of the header), it will be considered to be a KNXnet/IP packet and treated by the plugin. KNX
KNX Sonos Control a Sonos system from your KNX installation. Simple bridging between a KNX system and a Sonos installation. Specify KNX group addresses for triggering Sonos play/pause/volum/etc. Supports simple macros, to run multiple commands for the same group address. Requires EIBD. KNX, Sonos
KNX USB Linux driver Open Source module that allows Linux programs to control EIB/KNX devices via a USB connection. KNX
KnxWeb and KnxWeb2 KnxWeb is a web browser based graphical visualization interface for LinKnx. The design is subdivided into zones, each zone allows to place controls on a background picture to drive the KNX devices. The controls actually developed include lights (on/off and dimmers), room temperature control, camera pictures (jpeg images), jump to another zone or normal text. The controls can be freely positionned using drag-and-drop and their properties can be modified. With the new version 2.0, you can configure all aspect of LinKnx with an HTML interface including objects, IO ports, rules,... also, the design part has much changed with the introduction of sub-pages concept and the highly parametrable basic widgets. KNX
libeibclient-python libeibclient-python is a python 3 extension which provides a simple interface to communicate with a KNX/EIB system using the EIBD server. KNX
LibKNX Native C++ KNX access library for Windows, Linux, MacOS. It can access the bus via an KNX/IP gateway. Supporting data points of type 1.001, 2.001, 3.007, 4.001, 5.001, 6.001, 9.001, 10.001. The software is (currently) closed source but free to use in any non-commercial application. KNX
LinKnx Linknx is an automation platform providing high level functionalities to EIB/KNX installation. The rules engine allows execution of actions based on complex logical conditions and timers. Can be compiled in order to use Lua scripts KNX
LwKnxClient Lightweight command line script written in Python that acts as a client for LinKnx. Offers a light alternative to advanced clients like knxweb, in order to provide the user with a straightforward means to build a more complex application that has to communicate with LinKnx without bothering neither with connection management nor XML parsing. The the script is able to: read or write the value of a single object at once; communicate with a LinKnx server through TCP using its XML protocol. Server can be local or remote. Author has now stated that a new package Pyknx should be used instead but LwKnxClient is still available for download. KNX
LinuxMce Client/Server software. Ligthing, Climate, Security, Media, Telecom. Requires EIBD to connect to KNX Z-Wave; DMX; KNX; X10; Insteon; 1-Wire; PLCBUS; Tellstick (433mhz); EnOcean; Squeezebox; IR controlable devices; RS-232 Controlable devices
MisterHouse Written in Perl, it fires events based on time, web, socket, voice, and serial data. It currently runs on Windows 95/98/NT/2k/XP and on most Unix based platforms, including Linux and Mac OSX. Multiprotocol. A bit old now. KNX; X10; RS232; HomeVision; instant messages with AIM, MSN, or Jabber;DSC alarm panel; Xantech; IP protocols; XAP; XPL
OpenHab The openHAB project aims at providing a universal integration platform for all things around home automation. It is a pure Java solution, fully based on OSGi. The Equinox OSGi runtime and Jetty as a web server build the core foundation of the runtime. Visualisation, Logic, Multiprotocol. Android, iOS and Browser clients. Asterisk; Astro; Bluetooth; Comfo Air; CUL; CUPS; digitalSTROM; DMX512; EDS OWSever; EnOcean; Epson Projector; Exec; Freebox; Freeswitch; Fritz!Box; Fritz AHA; GPIO; HAI/Leviton OmniLink; HDAnywhere; Heatmiser; Homematic; HTTP; IEC 62056-21; IHC / ELKO; Insteon Hub; Insteon PLM; Ir-Trans; jointSPACE KNX; Koubachi; Leviton/HAI Omnilink; MAX!Cube MiLight; Modbus TCP; Westaflex Modbus MPD; MQTT; MQTTitude; Neohub; (Preview) Netatmo; Network Health; Nibe Heatpump; Nikobus; Novelan/Luxtronic Heatpump; NTP; One-Wire; Onkyo AV Receiver; Open Energy Monitor; OpenPaths presence detection; OpenSprinkler; OSGi Configuration Admin; Philips Hue; Piface; Pioneer-AVR Plugwise; PLCBus; Pulseaudio; RFXCOM; Samsung TV; Serial; Snmp; Squeezebox; System Info; Somfy URTSI II; Sonos; Swegon ventilation; TCP/UDP; Tellstick; TinkerForge; VDR; Velleman-K8055 Wake-on-LAN; Waterkotte EcoTouch Heatpump; Withings; XBMC; xPL; Z-Wave
OpenRemote Visualisation, Logic, Multiprotocol. Online Gui Designer. Android, iOS and Web browser clients. Java based KNX; 1-wire, X10, Insteon; Lutron; IR devices via IRTrans and GlobalCache; Z-wave; AMX NetLinx controllers; Telnet interfaces; DSC alarm panel; Russound via RNET/RS232; UPnP devices; SNMP protocol; Samsung TV remote; Denon AV receivers; XBMC
pKNyX pKNyX (python KNX framework) is a free python framework dedicated to build KNX simple and robust applications, in order to extend KNX installations, by adding some simple rules or complete virtual devices. Other technologies can be used by the way of plugins. It requires a KNX/IP router or EIBD. KNX
PVBrowser pvbrowser® is open source process visualisation software used for HMI and SCADA that runs on Linux/Unix/Windows/OS-X. pvbrowser clients are also available for Maemo/MeeGo/Android. Additionally pvbrowser servers can run on OpenVMS. Multiprotocol KNX; Modbus (Serial Line and TCP); Siemens TCP; Siemens PPI; EthernetIP; OPC XML-DA; PROFIBUS; CAN; DCON protocol
Pyknx Pyknx is a package that is aimed at providing basic functionality related to communicating with a LinKnx instance. It should help in sending or receiving data to/from LinKnx. It allows you to read or write your LinKnx objects from your Python environment an integrate it with the logic and functions implemented in a python file of your own. This package is from the same author of LwKnxClient and it is intended to replace it. KNX and any other protocol implemented in your own Python program.
Siri Proxy KNX Plugin The siriproxy-knx is a SiriProxy plugin that allows you, with voice commands, to control KNX devices in a BUS using a KNXnet/IP Tunneling Device. To use this plugin you need to build a JAVA file that will control the devices using the Calimero API. KNX
SKoA : SCADA Konnex Autoconfigurable SKoA (Scada-Konnex-Autoconfigurable) is a SCADA software framework that is user-configurable and can be executed on computers with Windows or Linux operating systems. it makes use of Java and Calimero to connect to the KNX bus. This framework provides a graphical interface in which the user can control, monitor and visualize KNX devices in a building. KNX
SmartHome.py Python framework to automate your home. Artnet; Asterisk; Boxcar Notification Service; CLI; DLMS; DMX; DWD; Easymeter; eBus; ECMD; ETA Pellet Unit PU; FritzBox; Phillips HUE; iAQ Stick; iCal; KNX; KOSTAL; Luxtronic2; Mail; MPD; NetIO230B; Network; Notify My Android; 1-Wire; Prowl; Roomba; RRDTool; Russound; SMA; SmartTV; Sml; snom; Solarlog; SQLite; Squeezebox; Visualisation; VR100; wetter.com; Wake On Lan; XBMC;
SmartVisu smartVISU is a framework to create a visualisation for a knx-installation with simple html-pages. To read and write group-telegramms special php tags are used. It can work with different backends that provide que logic and connection to the KNX bus. It can work as a front-end for LinKnx, for SmartHome.py or for Domotiga (all Open source). The selection of the backend to use is done in a configuration file and can not be changed at runtime. KNX ( and every other that the selected backend can support)
SOABA SOA BA (Service Oriented Architecture for Building Automation) is a Gateway Driver for interaction with KNX devices. The Gateway Driver is configurable from a XML file containing all the KNX device addresses and their underlying types. The Gateway Driver will be accessible via HTTP by exposing a REST interface, receiving and sending serialized JSON data. There is a Web Prototype App that makes use of this REST interface to control and expose the Gateway Driver functionalities. KNX, X10

For potencial users please be aware that there are different levels of software maturity among open source projects and while some are perfectly usable others may not be 100% reliable. Also some projects are only simple modules that can be integrated in larger projects and don't have a graphical interface. Test them and use them at your own risk.

This question is marked "community wiki".

asked Sep 06 '12 at 11:14

EB's gravatar image

EB ♦♦

edited Dec 31 '14 at 08:38

Added SOABA - Service Oriented Architecture for Building Automation

(Dec 31 '14 at 06:32) EB ♦♦ EB's gravatar image

Can someone add a reference to Homewatcher, an opensource alarm system designed to work with Linknx? Thanks ! Cyrille

This answer is marked "community wiki".

answered Sep 27 '14 at 06:15

Default's gravatar image


edited Sep 27 '14 at 06:15

Homewatcher added to list. I read Homewatcher's wiki documentation and I think it would be usefull if you could create a diagram for an example of an installation and how a non-technical user could enable or disable the alarm system. Nevertheless Homewatcher seems to me a very good idea. EB

(Sep 29 '14 at 06:45) EB ♦♦ EB's gravatar image

Thank you very much for updating the list. Regarding your kind suggestion, I was really hoping the example detailed in the Getting Started page (https://github.com/2franix/homewatcher/wiki/Getting-Started) to be clear enough. Have you had a look at it? Indeed, I can't seem to find a better way to explain how things work... Thanks, again. Cyrille

(Sep 29 '14 at 09:52) Default Default's gravatar image

Great topic !

KNXLive (http://www.auto.tuwien.ac.at/~mkoegler/index.php/knxlive)

EIB Suite http://eibsuite.codeplex.com/

OfficeKNX (made by http://www.ott-elektro.ch/ in the past, I can't find it..)

This answer is marked "community wiki".

answered Sep 08 '12 at 15:37

Tommy's gravatar image


added KNX Logger

(Nov 16 '12 at 04:48) EB ♦♦ EB's gravatar image


just one more to add

LibKNX -- native C++ KNX access library for Win, Linux, MacOS -- knx.nagilo.de

Yours Norbert

This answer is marked "community wiki".

answered Nov 18 '14 at 17:41

nagilo_libknx_germany's gravatar image


Done. It would be nice if you decided to opensource LibKNX though. Open source and free for non-comercial use. But that's just my opinion.

(Nov 20 '14 at 06:15) EB ♦♦ EB's gravatar image

Are any of the above tools able to replace the ETS, at least for those programming tasks that don't require a vendor plug-in?

This answer is marked "community wiki".

answered Dec 01 '14 at 07:09

mmutz_______________'s gravatar image


No. None of them is able to replace ETS for programing tasks.

(Dec 01 '14 at 09:56) EB ♦♦ EB's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments



Asked: Sep 06 '12 at 11:14

Seen: 58,670 times

Last updated: Dec 31 '14 at 08:38