Calimero - KNXnet/IP (and more) for Java

Introduction

KNXnet/IP (EIBnet/IP) allows to communicate with an KNX/EIB installation by tunnelling over IP networks. The protocol is published in the KNX Handbook and in the European standard EN 13321-2:2006 (Open Data Communication in Building Automation, Controls and Building Management - Home and Building Electronic Systems - Part 2: KNXnet/IP Communication), available from European standardization organizations. Note: EN 13321-2 is useless without information on the KNX/EIB control network specific data structures (cEMI, DPTs); these should be defined in EN 50090 (Home and Building Electronic Systems).

Calimero is a collection of Java APIs that together form a foundation for further EIB/KNX high level applications (including remote access and control). A demo client is included.

Please see the project news for up-to-date information or simply download the latest release. Calimero is also part of the KNXLive CD, which also contains software EIBnet/IP servers. KNXLive and Calimero were presented at the 2005 KNX Scientific Conference. This page is largely based on that presentation.

If you still have questions after reading this page and the API documentation or would like to leave a comment, have a look at the forums. Since spammers have found our forums, you need a SourceForge account to post. Please report bugs via the tracker, giving precise instructions so that the error can be reproduced. Also check the Calimero forums before, the bug may have already been fixed. In case you are not sure if the problem you are experiencing is really due to a bug, consider posting to the help forum first. If you would like to contribute code, please contact one of the project administrators.

The development status of Calimero is alpha. Incompatible changes to the API should be expected. We will try to minimize this, though.

Calimero 2.0

An alpha-release of Calimero 2.0 "Next Generation" is available!

Current version is alpha 4. This updated version only affects the calimero library (source and binary).

Change list alpha 3 to alpha 4:

Calimero Next Generation provides a lot of new features. Besides KNXnet/IP Tunneling (now including Monitor mode), it also supports KNXnet/IP Routing and Device Management. In addition to process (group) communication, network and device management client services are also provided. Calimero NG also logs errors and diagnostic messages to a central facility and includes a buffer for KNX network messages. Even with all these new features, Calimero NG only requires a J2ME runtime, which enables use on embedded platforms.

In order to keep the API tidy and easy to understand, given the additional functionality that had to be accommodated, Calimero NG uses a different API than Calimero 1.4. Some console tools are included to allow a first glimpse at the new API and some of its functions. They can be called from any shell window (e.g., java -cp "/path/to/calimero/jar-files" tuwien.auto.calimero.tools.Discover -s):

Use the -h command line option to show tool usage.

For a basic code example on listening to network traffic, have a look at this forum thread.

Read more about Calimero NG.

ETS4 to Calimero NG import

Thanks to Thomas Wimmer, it is also possible to import ETS4 projects into Calimero NG. To achieve this, an XSLT transformation has to be performed. The necessary configuration files and a short howto can found here.

Calimero 1.x

The design of Calimero 1.x is described on this page. A short code example (the Calimero 2 API is different!) and a few additional notes can also be found there.

Projects that use Calimero

Free/gratis software:

Other projects:

Tell us about your project!

Links

The following projects on SourceForge are also related to KNX/EIB:

 

Get Calimero at SourceForge.net. Fast, secure and Free Open Source software downloads