{"id":15663192,"url":"https://github.com/calimero-project/introduction","last_synced_at":"2025-10-18T20:50:57.728Z","repository":{"id":11011040,"uuid":"13337242","full_name":"calimero-project/introduction","owner":"calimero-project","description":"Code examples and additional documentation for using Calimero","archived":false,"fork":false,"pushed_at":"2025-04-10T17:30:00.000Z","size":1014,"stargazers_count":20,"open_issues_count":0,"forks_count":17,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-15T18:17:07.770Z","etag":null,"topics":["examples","java","knx"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/calimero-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-04T23:52:48.000Z","updated_at":"2025-04-10T17:30:03.000Z","dependencies_parsed_at":"2024-07-28T10:45:50.517Z","dependency_job_id":"aeb365f2-7ae7-48ae-a56b-7e36e2f74e75","html_url":"https://github.com/calimero-project/introduction","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calimero-project%2Fintroduction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calimero-project%2Fintroduction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calimero-project%2Fintroduction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calimero-project%2Fintroduction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calimero-project","download_url":"https://codeload.github.com/calimero-project/introduction/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249126000,"owners_count":21216705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["examples","java","knx"],"created_at":"2024-10-03T13:35:47.106Z","updated_at":"2025-10-18T20:50:57.711Z","avatar_url":"https://github.com/calimero-project.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction to Calimero\n========================\n\nThis repository contains additional documentation for Calimero and code examples using Java and Kotlin.\n\nAll examples require Java 21 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`.\n\nFor 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`\n\n* [Discover KNXnet/IP servers](src/main/java/DiscoverKnxServers.java)\n* [Discover KNX USB devices](src/main/java/DiscoverUsbDevices.java)\n* [Create client-side KNXnet/IP tunneling network link](src/main/java/CreateTunnelingLink.java)\n* [KNX IP Secure routing network link](src/main/java/KnxipSecure.java)\n* [KNX IP Secure tunneling network link](src/main/java/SecureTunnelingLink.java)\n* [Create client-side KNX USB network link](src/main/java/CreateUsbLink.java)\n* [Create TPUART network monitor link](src/main/java/CreateTpuartMonitor.java)\n* [Process communication](src/main/java/ProcessCommunication.java)\n* [Process communication using KNX Secure](src/main/java/DataSecureProcessCommunication.java)\n* [Group monitor](src/main/java/GroupMonitor.java)\n* [KNX address converter](src/main/java/KnxAddressConverter.java), e.g., `./gradlew run -DmainClass=KnxAddressConverter --args=\"1/2/3\"`\n* [DPT translation](src/main/java/DptTranslation.java)\n* [Network state buffering](src/main/java/NetworkStateBuffering.java)\n* [KNX IP push-button device](src/main/java/PushButtonDevice.java)\n* [LTE device for LTE-HEE runtime communication](src/main/java/LteDevice.java)\n* [ETS keyring viewer](src/main/java/KeyringViewer.java), run it with Gradle using\n\t`./gradlew run -DmainClass=KeyringViewer --args=\"--pwd pwd '/path/to/keyring.knxkeys'\"`\n* [Basic programmable device](src/main/java/ProgrammableDevice.java)\n\n\n#### Guide for the KNX push-button device example\n\n- Run the example in your IDE, or command line using `./gradlew run -DmainClass=PushButtonDevice`\n\n- Use process communication to read/write the push button state, for example in the ETS group monitor. Or with the Calimero [tools](https://github.com/calimero-project/calimero-tools) group monitor in a second terminal (`./gradlew run --args \"groupmon 224.0.23.12\"`) and enter the following commands:\n \n ~~~ sh\t\n\tread 1/0/1 switch\n\t[response should be printed with switch state off]\n\twrite 1/0/1 on\n\tr 1/0/1\n\t[response should be printed with switch state on]\n\tCtrl^C\n ~~~\n\n- 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\"`.\n\n- Discover the KNX IP device. With the Calimero discover tool, `./gradlew run --args=\"discover\"`\n\n  Example output:\n\n\t\tUsing 192.168.10.10 (en0)\n\t\t-------------------------\n\t\t\"Push Button (KNX IP)\" endpoint 192.168.10.17:3671 (IPv4 UDP)\n\t\tKNX address 1.1.10\n\t\tKNX medium KNX IP\n\t\tInstallation 0 - Project 0 (ID 0)\n\t\tKNX IP multicast address 224.0.23.12\n\t\tMAC address f4:5c:89:8a:f4:9b\n\t\tSupported services: Core (v1)\n\n\n### Archived examples\n\n* Examples for Calimero v3.0-M1 (requires Java 17) can be found on the [release/3.0-M1 branch](https://github.com/calimero-project/introduction/tree/release/3.0-M1)\n* Examples for Calimero v2.6 (requires Java 17) can be found on the [release/2.6 branch](https://github.com/calimero-project/introduction/tree/release/2.6)\n* Examples for Calimero v2.4 (requires Java 8) can be found on the [release/2.4 branch](https://github.com/calimero-project/introduction/tree/release/2.4)\n* Examples for Calimero v2.3 (or earlier) can be found on the [release/2.3 branch](https://github.com/calimero-project/introduction/tree/release/2.3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalimero-project%2Fintroduction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalimero-project%2Fintroduction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalimero-project%2Fintroduction/lists"}