knxdownload

Build the memory image a device should hold for a project and compare it with the device. Read-only.

knxdownload builds the memory image (and for some devices the load plan) that a project device should hold, and can compare it with the real device. It only reads: nothing is ever written to a device by this tool.

knxdownload -pwfile FILE -device 1.1.21 [-dump] [-plan] project.knxproj
knxdownload -pwfile FILE -device 1.1.21 -verify GATEWAY [-tcp] [-all] project.knxproj
knxdownload -pwfile FILE -device 1.1.21 -from-dump DIR [-all] project.knxproj
knxdownload -pwfile FILE -device 1.1.21 -xml out.xml project.knxproj

Flags

FlagMeaning
-pwfile FILEFile holding the project password.
-device ADDRIndividual address of the project device. Required.
-dumpPrint the image: each segment as hex.
-planPrint the load plan, every operation a download would perform, and exit. Nothing is sent.
-verify GATEWAYConnect through this gateway, read the device’s memory (read-only) and compare it with the image. For System B devices (mask 0x07B0) it compares the load images by size and checksum instead.
-tcpTunnel over TCP instead of UDP.
-from-dump DIRCompare against saved reads in a directory (files named 0xADDR.txt, as printed by knxprobe -mem) instead of the bus.
-allPrint every difference, not only the first 40.
-xml FILEWrite the application program of the device to this file and exit.

The output starts with the application program name, number and version, the mask, each segment with its address and size, and any notes and WARNING lines from building the image. With -verify or -from-dump it then prints the number of differing octets per segment and the differences (image value, device value, mask).

A difference at octet 0x100, a status octet that changes while the device runs, is ignored.

For some masks the image depends on what the device reports; then -verify reads that from the device first.

Example

knxdownload -pwfile pw.txt -device 1.1.21 -plan house.knxproj
knxdownload -pwfile pw.txt -device 1.1.21 -verify 10.0.0.5:3671 house.knxproj

Use the result as a dry-run before knxprogram.