VL.KNX
0.1.0
dotnet add package VL.KNX --version 0.1.0
NuGet\Install-Package VL.KNX -Version 0.1.0
<PackageReference Include="VL.KNX" Version="0.1.0" />
<PackageVersion Include="VL.KNX" Version="0.1.0" />
<PackageReference Include="VL.KNX" />
paket add VL.KNX --version 0.1.0
#r "nuget: VL.KNX, 0.1.0"
#:package VL.KNX@0.1.0
#addin nuget:?package=VL.KNX&version=0.1.0
#tool nuget:?package=VL.KNX&version=0.1.0
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 | Versions 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. |
-
- Knx.Falcon.Sdk (>= 6.4.8671)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.