This repository contains additional documentation for Calimero and code examples using Java and Kotlin.
All examples require Java 17 and can be built using Gradle (./gradlew build
). A single example can be executed via Gradle by specifying the class like ./gradlew run -DmainClass=GroupMonitor
.
For Kotlin, an example can be run via Gradle by appending "Kt" to the class name, e.g., for DiscoverKnxServers this would be ./gradlew run -DmainClass=DiscoverKnxServersKt
- Discover KNXnet/IP servers
- Discover KNX USB devices
- Create client-side KNXnet/IP tunneling network link
- KNX IP Secure routing network link
- KNX IP Secure tunneling network link
- Create client-side KNX USB network link
- Create TPUART network monitor link
- Process communication
- Process communication using KNX Secure
- Group monitor
- KNX address converter, e.g.,
./gradlew run -DmainClass=KnxAddressConverter --args="1/2/3"
- DPT translation
- Network state buffering
- KNX IP push-button device
- LTE device for LTE-HEE runtime communication
- ETS keyring viewer, run it with Gradle using
./gradlew run -DmainClass=KeyringViewer --args="--pwd pwd '/path/to/keyring.knxkeys'"
- Basic programmable device
-
Run the example in your IDE, or command line using
./gradlew run -DmainClass=PushButtonDevice
-
Use process communication to read/write the push button state, for example in the ETS group monitor. Or with the Calimero tools group monitor in a second terminal (
./gradlew run --args "groupmon 224.0.23.12"
) and enter the following commands:
read 1/0/1 switch
[response should be printed with switch state off]
write 1/0/1 on
r 1/0/1
[response should be printed with switch state on]
Ctrl^C
-
Read device information of the Calimero KNX device, for example with the ETS device info diagnostics. Or, use the Calimero device info tool
./gradlew run --args="devinfo 224.0.23.12 1.1.10"
. -
Discover the KNX IP device. With the Calimero discover tool,
./gradlew run --args="discover"
Example output:
Using 192.168.10.10 (en0) ------------------------- "Push Button (KNX IP)" endpoint 192.168.10.17:3671 (IPv4 UDP) KNX address 1.1.10 KNX medium KNX IP Installation 0 - Project 0 (ID 0) KNX IP multicast address 224.0.23.12 MAC address f4:5c:89:8a:f4:9b Supported services: Core (v1)
- Examples for Calimero v2.6 (requires Java 11) can be found on the 2.6 branch
- Examples for Calimero v2.4 (requires Java 8) can be found on the release/2.4 branch
- Examples for Calimero v2.3 (or earlier) can be found on the release/2.3 branch