(KNX) Calimero-Tools

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Allgemeines

Auf der Suche nach einem KNX-Bus Scanner bin ich bei den Calimero-Tools [1] fuendig geworden.

Kommandos

Eins vorweg. Bei den Kommandos hat ChatGPT total versagt. Auch bei Nachfragen hat es permanent falsche/nicht vorhandene Optionen angegeben.

Oft wird in den Beispielen --localhost vergessen. Dies ist aber wohl notwendig wenn der Rechner ueber mehr als eine (W)LAN-Schnittstelle oder IP-Nummer verfuegt.

worker:/opt/calimero-tools # ./gradlew run
Calculating task graph as no cached configuration is available for tasks: run

> Task :run
Supported commands (always safe without further options, use -h for help):
discover   - Discover KNXnet/IP devices
describe   - KNXnet/IP device self-description
scan       - Determine the existing KNX devices in a KNX subnetwork
ipconfig   - KNXnet/IP device address configuration
netmon     - Open network monitor (passive) for KNX network traffic
monitor    - Alias for netmon
read       - Read a value using KNX process communication
write      - Write a value using KNX process communication
groupmon   - Open group monitor for KNX process communication
trafficmon - KNX link-layer traffic & link status monitor
get        - Read a KNX property
set        - Write a KNX property
properties - Open KNX property client
info       - Send an LTE info command
baos       - Communicate with a KNX BAOS device
devinfo    - Read KNX device information
mem        - Access KNX device memory
progmode   - Check/set device(s) in programming mode
restart    - Restart a KNX interface/device
import     - Import datapoints from a KNX project (.knxproj) or group addresses file (.xml|.csv)

BUILD SUCCESSFUL in 932ms
4 actionable tasks: 2 executed, 2 up-to-date
Configuration cache entry stored.

Discover/Describe

worker:/opt/calimero-tools # ./gradlew run --args="discover --help"
Calculating task graph as no cached configuration is available for tasks: run --args=discover --help

> Task :run
Usage: Discover {search | describe} [options]
Supported commands:
  search [<host>]            start a discovery search
    --withDescription        query self description for each search result
    --unicast -u             request unicast response (where multicast would be used)
    --netif -i <interface/host name | IP address>    local multicast network interface
    --mac <address>          extended search requesting the specified MAC address
    --progmode               extended search requesting devices in programming mode
  describe <host>            query self description from host
    --netif -i <interface/host name | IP address>    local outgoing network interface
    --serverport -p <number> server UDP/TCP port (default 3671)
  sd                         shortcut for 'search --withDescription'
Other options:
  --localport <number>       local UDP/TCP port (default system assigned)
  --nat -n                   enable Network Address Translation
  --timeout -t               discovery/description response timeout in seconds
  --tcp                      request TCP communication
  --udp                      request UDP communication
  --version                  show tool/library version and exit
  --help -h                  show this help message
KNX Secure:
  --keyring <path>           *.knxkeys file for secure communication (defaults to keyring in current working directory)
  --keyring-pwd <password>   keyring password
KNX IP Secure specific:
  --user <id>                tunneling user identifier (1..127)
  --user-pwd <password>      tunneling user password
  --user-key <key>           tunneling user password hash (32 hexadecimal digits)
  --device-pwd <password>    device authentication password
  --device-key <key>         device authentication code (32 hexadecimal digits)

BUILD SUCCESSFUL in 989ms
4 actionable tasks: 2 executed, 2 up-to-date
Configuration cache entry stored.

Mein KNX/EIB IP Interface EIBmarkt N000401 (KNX IP Interface 730) wird beim Discover nicht erkannt.


Scanner

./gradlew run --args="scan  --localhost 192.168.178.20  192.168.178.13 1.1"
07:32:13:439 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.0: 2e 00 91 60 11 ff 11 00 00 80
07:32:13:576 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.1: 2e 00 91 60 11 ff 11 01 00 80
07:32:14:387 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.7: 2e 00 91 60 11 ff 11 07 00 80
07:32:14:927 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.11: 2e 00 91 60 11 ff 11 0b 00 80
07:32:15:196 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.13: 2e 00 91 60 11 ff 11 0d 00 80
07:32:15:332 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.14: 2e 00 91 60 11 ff 11 0e 00 80
07:32:15:467 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.15: 2e 00 91 60 11 ff 11 0f 00 80
07:32:16:276 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.21: 2e 00 91 60 11 ff 11 15 00 80
07:32:16:411 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.22: 2e 00 91 60 11 ff 11 16 00 80
07:32:16:547 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.23: 2e 00 91 60 11 ff 11 17 00 80
07:32:17:356 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.29: 2e 00 91 60 11 ff 11 1d 00 80
07:32:17:491 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.30: 2e 00 91 60 11 ff 11 1e 00 80
07:32:18:841 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.40: 2e 00 91 60 11 ff 11 28 00 80
07:32:19:111 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.42: 2e 00 91 60 11 ff 11 2a 00 80
07:32:19:921 WARN io.calimero.link.udp://192.168.178.14:3671 - negative confirmation of 1.1.48: 2e 00 91 60 11 ff 11 30 00 80
1.1.2
1.1.3
1.1.4

Die Ausgabe enthaelt mehrfach nicht erreichbare Devices. Das verstehe (noch) nicht.

Netmon/Monitor

./gradlew run --args="netmon  --localhost 192.168.178.20  192.168.178.13"
08:06:35:444 ERROR io.calimero.knxnetip.KNXnet/IP Tunneling udp://192.168.178.13:3671 - establishing connection failed, error response from control endpoint udp://192.168.178.13:3671: one or more connection options are not supported
08:06:35:445 ERROR io.calimero.tools - error response from control endpoint udp://192.168.178.13:3671: one or more connection options are not supported
./gradlew run --args="netmon  --localhost 192.168.178.20  192.168.178.14"
08:06:46:674 ERROR io.calimero.knxnetip.KNXnet/IP Tunneling udp://192.168.178.14:3671 - establishing connection failed, error response from control endpoint udp://192.168.178.14:3671: the requested tunneling layer is not supported
08:06:46:675 ERROR io.calimero.tools - error response from control endpoint udp://192.168.178.14:3671: the requested tunneling layer is not supported