Giter Club home page Giter Club logo

introduction's Introduction

Introduction to Calimero

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

Guide for the KNX push-button device example

  • 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)
    

Archived examples

  • 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

introduction's People

Contributors

bmalinowsky avatar calimero-project avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

introduction's Issues

GroupMonitor example responds with only one message

After running GroupMonitor.java it always response with a single message (even though messages can have diff group number and values):
Monitoring KNX network using KNXnet/IP server 192.168.15.11 ... 13:12:46.818 1.10.2->10/1/10 write.ind: 00

After relaunching it responds with different telegram.
I supposed it will monitor all upcoming data either write or read (

P.S: How can I obtain every telegram running through KNX bus and save it?

CreateTunnelingLink not connecting

Hi, I've tried this simple code to connect to my server. But I can't figure it out.
Always getting this error: from /192.168.10.5:3671 to /192.168.10.13:3671: bind failed: EADDRNOTAVAIL (Cannot assign requested address) .
What could be the problem?

How to use USB Gateway in samples with working USB device in calimero-server

Hello,

i want to use the samples CreateUsbLink and DiscoverUsbDevices with my USB KNX Gateway.
In calimero-server it is found as following device:

[knx-server] INFO calimero.usb - Found 1 KNX USB devices:
 |--Bus 002 Device 020: ID 135e:0022
[knx-server] INFO calimero.usb.135e:0022 - Bus 002 Device 020: ID 135e:0022

But in the sample DiscoverUsbDevices the error is shown:

List of KNX USB devices:
none found

And in the CreateUsbLink example this error is displayed:
Error creating USB network link: io.calimero.KNXException: no service provider available for io.calimero.serial.usb.spi.UsbConnectionProvider

How can I find my UBS uinterface with this examples?

I use windows and start the examples with gradlew run -DmainClass=DiscoverUsbDevices and gradlew run -DmainClass=CreateUsbLink

Thanks!

Error creating KNXnet/IP tunneling link: tuwien.auto.calimero.KNXTimeoutException: timeout connecting to control endpoint /192.168.10.13:3671

Hi, I've tried to run this in gradle. But getting this error message. Any suggestions?

Establish a tunneling connection to the KNXnet/IP server /192.168.10.13:3671 19:22:15:555 TRACE Net - match local address /127.0.0.1/8 to /192.168.10.13 19:22:15:555 TRACE Net - match local address /192.168.62.198/24 to /192.168.10.13 19:22:15:555 DEBUG calimero.knxnetip.KNXnet/IP Tunneling 192.168.10.13:3671 - establish connection from 192.168.62.198:59189 to 192.168.10.13:3671 (udp) 19:22:15:555 DEBUG calimero.knxnetip.KNXnet/IP Tunneling 192.168.10.13:3671 - wait for connect response from 192.168.10.13:3671 ... 19:22:25:586 ERROR calimero.knxnetip.KNXnet/IP Tunneling 192.168.10.13:3671 - establishing connection failed, timeout connecting to control endpoint /192.168.10.13:3671 Error creating KNXnet/IP tunneling link: tuwien.auto.calimero.KNXTimeoutException: timeout connecting to control endpoint /192.168.10.13:3671

I am confuse about this library.

I have a project in iot and I need to use knx ip.
I am perplex; I could not understand how to start or where to start.
give me some advice.
I am studying server package.

help me.

KNXNetworkLinkIP visibility:: PushButtonActuator.java

Since KNXNetworkLinkIP visibility is protected, this is not working:
See introduction/examples/java8/PushButtonActuator.java Line 144:
try (final KNXNetworkLink link = new KNXNetworkLinkIP(null, null, new KnxIPSettings(deviceAddress));) {

How should I rewrite this best practice?

Thanks
Helmut

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.