VL.KNX 0.1.0

dotnet add package VL.KNX --version 0.1.0
                    
NuGet\Install-Package VL.KNX -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VL.KNX" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VL.KNX" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="VL.KNX" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add VL.KNX --version 0.1.0
                    
#r "nuget: VL.KNX, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package VL.KNX@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=VL.KNX&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=VL.KNX&version=0.1.0
                    
Install as a Cake Tool

vvvv nodes for the KNX building automation protocol, built on the official Knx.Falcon.Sdk.

Nodes

Node Description
KNX Manages a KNX/IP tunneling, routing or USB connection. Auto-reconnects while Connect is true; accepts a Connection String (from Discover / DiscoverUsb).
GetData Reads a group address value (GroupValueRead). Auto-refreshes on connect or address change.
GetData (Async) Reactive variant of GetData — returns an IObservable that emits on every incoming value.
SendBool Writes a DPT 1.x boolean to a group address.
SendByte Writes a DPT 5.x/6.x byte to a group address.
SendBytes Writes a multi-byte value (e.g. DPT 9.001 temperature) to a group address.
SendBool (Async) Reactive SendBool — subscribes to an IObservable<bool>.
SendByte (Async) Reactive SendByte — subscribes to an IObservable<byte>.
SendBytes (Async) Reactive SendBytes — subscribes to an IObservable<byte[]>.
RespondBool Answers a GroupValueRead with a DPT 1.x boolean (acts as the value provider for an address).
RespondBytes Answers a GroupValueRead with a multi-byte value.
BusMonitor Reactive IObservable of every incoming telegram (source, destination, type, value). For debugging/logging.
Decode Static helpers to decode raw state strings to typed values (bool, %, temperature…).
Encode Static helpers to encode typed values to KNX bytes (bool, %, temperature…).
Discover Discovers KNX/IP interfaces on the local network via UDP broadcast.
DiscoverUsb Lists KNX USB interfaces attached to the local machine.
Ping Pings a KNX device by individual address (e.g. 1.1.5) to check bus reachability.
Scan Scans a range of individual addresses by pinging each one in parallel.
IsAddressFree Checks whether an individual address is unused on the bus (commissioning helper).
DeviceInfo Reads a device's descriptor (mask version) by individual address.
InterfaceInfo Reads interface features and configuration from the active connection.

Overview

<img width="1671" height="846" alt="image" src="https://github.com/user-attachments/assets/c3030a5f-b9ee-4b66-8e71-cf9be81f4e1f" />

KNX Setup

Use with KNX Virtual: <img width="1186" height="693" alt="image" src="https://github.com/user-attachments/assets/3cca58ec-a353-4017-9993-a86e76e5eb19" />

Download KNX Virtual from my.knx.org (search for "KNX Virtual").

Program the KNX (virtual) device with ETS6 (Demo Version).

An example ETS project is included in samples/vvvvtest.knxproj.

Connecting from a different machine

By default KNX Virtual binds to 127.0.0.1 (localhost only). To make it reachable from another PC on the LAN, create the file:

C:\ProgramData\KNX\KV\v26\interface.txt

with content <LAN-IP>:<port>, for example:

192.168.1.10:3671

Use the actual LAN IP of the machine running KNX Virtual. Then connect the KNX node on the remote machine to that IP as usual (tunneling mode).

Note: The Discover node uses UDP broadcast and only finds interfaces on the local machine. When connecting to a remote KNX Virtual instance, enter the IP address manually instead of relying on Discover.

License

This library uses the Knx.Falcon.Sdk NuGet package, published by KNX Association cvba (Brussels, Belgium).

The public SDK (this package) is free of charge. There is no cost to download or use it via NuGet.

The full license text requires a free KNX Association account to read: → support.knx.org/hc/en-us/articles/360002909959 (Register for free at my.knx.org)

Key points to verify in the license before distributing commercially:

  • Whether redistribution of applications built with the SDK requires any notice or attribution.
  • The distinction between the Public SDK (free, NuGet) and the Manufacturer Falcon SDK (KNX members only, required for building certified KNX hardware/tools — not relevant here).
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 0 5/29/2026
0.0.4 36 5/28/2026
0.0.3 39 5/28/2026
0.0.2 46 5/28/2026
0.0.1 45 5/28/2026