KNX OPC UA Server: Lingg & Janke KNX Virtual and SCADA Connection
OPC UA (IEC 62541) provides a vendor-neutral, secure, subscription-based integration layer between KNX building automation and enterprise SCADA, BMS, and energy management systems. KNX Virtual from Lingg & Janke exposes every KNX group address as a structured OPC UA node, with DPT-correct data types and X.509 certificate security — eliminating the polling overhead and vendor lock-in of older integration approaches.
OPC UA in building automation
OPC Unified Architecture (IEC 62541) is the successor to the Windows-only OPC Classic (OPC DA/HDA/AE) family of specifications. Where OPC DA used COM/DCOM and was limited to Windows-to-Windows connections on the same LAN segment, OPC UA is platform-independent (Windows, Linux, embedded), firewall-friendly (single TCP port), and supports structured data modelling beyond simple tag-value pairs.
Three OPC UA features are particularly valuable for building automation integrations: structured address space organises KNX nodes by building hierarchy rather than flat tag lists; data typing maps KNX DPTs directly to OPC UA base types without manual scaling; and subscription-based push delivery means SCADA clients receive value updates only when values change, not on every polling cycle.
OPC UA advantages over OPC DA
- Platform-independent: Windows, Linux, embedded
- No DCOM configuration — single TCP port (4840)
- X.509 certificate authentication and encryption
- Structured address space with metadata
- Subscription-based push: no polling overhead
BMS platforms with OPC UA client
- Siemens Desigo CC (native OPC UA driver)
- Schneider EcoStruxure Building Operation
- Honeywell Niagara Framework (Tridium)
- Inductive Automation Ignition SCADA
- Siemens WinCC and TIA Portal
KNX Virtual architecture
KNX Virtual is a software application from Lingg & Janke that runs on Windows or Linux and acts as both a KNX client and an OPC UA server. On the KNX side, it connects to the KNX installation via KNXnet/IP tunnelling (IP router or IP interface) or via a USB KNX interface attached to the server PC. On the OPC UA side, it listens on the configured TCP port and accepts connections from any OPC UA client.
KNX Virtual architecture overview
KNX Installation (TP bus)
│
▼
KNX IP Router / IP Interface (KNXnet/IP)
│ (UDP multicast or unicast)
▼
KNX Virtual (Windows/Linux server)
├── KNXnet/IP tunnelling client
├── ETS6 group address import (XML / .knxproj)
├── DPT → OPC UA data type mapping
└── OPC UA server (opc.tcp://server_ip:4840)
│
▼
OPC UA Clients:
├── Siemens Desigo CC
├── Schneider EcoStruxure Building Operation
├── Ignition SCADA (Inductive Automation)
└── Any IEC 62541-compliant clientLicensing note:KNX Virtual is licensed per number of KNX group addresses (nodes) exposed via OPC UA. Check the Lingg & Janke pricing tiers before designing the integration — a 500-node licence covers most commercial building projects, while large campus installations with thousands of KNX objects require higher tiers. The licence is node-count-based, not client-count-based: any number of OPC UA clients can connect simultaneously.
Installation and configuration
KNX Virtual setup requires four configuration steps before OPC UA clients can connect: KNXnet/IP connection, ETS6 group address import, OPC UA endpoint configuration, and security certificate setup. Complete them in order — OPC UA clients cannot browse the address space until group addresses are imported.
KNX Virtual setup sequence
Step 1: KNXnet/IP connection
Settings → KNX → Connection type: KNXnet/IP tunnelling
IP address of KNX IP router (e.g. 192.168.1.10)
Tunnelling port: 3671 (default)
Test: KNX bus status indicator shows green
Step 2: ETS6 group address import
Option A: Export from ETS6 → File → Export Group Addresses
Format: XML (OPC UA compatible) or CSV
Option B: Import full .knxproj file directly
Settings → Import → select exported file
All group addresses appear in the node browser
Step 3: OPC UA endpoint configuration
Settings → OPC UA → Endpoint URL:
opc.tcp://192.168.1.50:4840
Port 4840 is the IANA-assigned OPC UA default
Change only if firewall rules require alternate port
Step 4: Security mode
None: No authentication, no encryption (testing only)
Sign: Certificate-based authentication, no encryption
Sign+Encrypt: Certificate authentication + TLS encryption
Recommended for production: Sign+EncryptX.509 certificate generation: KNX Virtual generates a self-signed X.509 certificate on first start. For Sign or Sign+Encrypt security modes, the BMS client must trust this certificate — export the KNX Virtual server certificate and import it into the BMS client trust store. Similarly, import the BMS client certificate into the KNX Virtual trusted client list. Some clients (Ignition) handle certificate exchange automatically on first connection; Desigo CC requires manual certificate import.
OPC UA address space structure
KNX Virtual organises imported group addresses into the OPC UA address space using the ETS6 group address hierarchy: Main Group becomes an OPC UA folder, Sub Group becomes an OPC UA object, and individual Group Addresses become OPC UA variable nodes with DPT-derived data types. This mirrors the ETS6 structure familiar to KNX engineers and makes browsing the OPC UA node tree intuitive for BMS engineers who have access to the ETS6 group address plan.
| KNX element | OPC UA mapping | Example |
|---|---|---|
| Main Group (0–31) | OPC UA Folder node | Folder: Lighting |
| Sub Group (0–7) | OPC UA Object node | Object: Floor 01 |
| Group Address (0–255) | OPC UA Variable node | Variable: Office 101 Dimming |
| DPT 1.001 (Boolean) | OPC UA Boolean | true / false |
| DPT 5.001 (Percentage) | OPC UA Byte (0–255) or Float | 0.0 – 100.0 |
| DPT 9.001 (Temperature) | OPC UA Float | -273.0 – 670760.96 |
| DPT 12.001 (4-byte uint) | OPC UA UInt32 | 0 – 4294967295 |
| DPT 16.001 (String 14 char) | OPC UA String | ASCII text |
Siemens Desigo CC OPC UA client
Desigo CC includes a native OPC UA client driver that browses the KNX Virtual address space and integrates KNX nodes into the Desigo CC asset hierarchy. Unlike the BACnet/IP driver, OPC UA does not require point licences per signal in all Desigo CC configurations — verify with the Siemens licence quotation for the specific project.
Desigo CC OPC UA integration steps
1. Desigo CC Workstation → System Management → Network → Add OPC UA server → Endpoint URL: opc.tcp://192.168.1.50:4840 → Security: Sign+Encrypt (recommended) 2. Certificate exchange: → Export KNX Virtual server certificate → Import into Desigo CC OPC UA trusted servers → Export Desigo CC client certificate → Import into KNX Virtual trusted clients list → Connection status: Connected (green) 3. Browse and import KNX nodes: → Expand node tree: Root → KNX → Main Group → Sub Group → Drag variable nodes to Desigo CC Floor Plan asset structure → Assign display names matching CAFM room numbering 4. Bind to Desigo CC functions: → Alarms: right-click Boolean variable → Create Alarm → Trends: right-click Float variable → Create Trend Log → Graphics: drag data point to Desigo CC graphic template
Schneider EcoStruxure Building Operation
Schneider EcoStruxure Building Operation (EBO) includes an OPC UA client as a standard driver in the SmartX AS-P and AS-B automation servers. EBO natively understands building automation data types and maps OPC UA Float nodes to EBO analog data points and OPC UA Boolean nodes to EBO binary data points without requiring manual scaling configuration.
EBO OPC UA binding steps
- EBO WorkStation → OPC UA driver → Add server
- Enter KNX Virtual endpoint URL
- Browse node tree to KNX group addresses
- Bind nodes to EBO data points (analog/binary)
- Link to EBO graphics, alarms, and schedules
EBO native DPT support
EBO automatically applies unit labels (°C, %, lux, kWh) based on the OPC UA node EngineeringUnits property. KNX Virtual populates EngineeringUnits from the ETS6 DPT definition — temperature nodes appear with °C unit, energy with kWh, without manual configuration in EBO.
SCADA integration: Ignition and WinCC
Industrial SCADA platforms increasingly serve as the data layer for ISO 50001 Energy Management Systems (EnMS) in commercial buildings. KNX energy meter data — zone power demand, energy consumption, power factor — is required for EnMS Key Performance Indicators (KPIs) and ISO 50001 Section 6.6 energy performance indicators (EnPIs).
Ignition SCADA OPC UA → KNX energy monitoring
Ignition Designer → OPC Connections → Add OPC UA server Server URL: opc.tcp://192.168.1.50:4840 Security: Sign+Encrypt Certificate: accept KNX Virtual cert (Ignition auto-trusts) Tag Browser → OPC → Browse KNX Virtual nodes: Root/KNX/Energy/FloorB1/Zone01_kWh → drag to Tag Editor Tag name: FloorB1_Zone01_Energy Data type: Float (from DPT 12.001 / OPC UA UInt32) Deadband: 0.01 kWh Historian configuration (for ISO 50001 trending): Tag history → Sample mode: On Change Storage provider: Ignition Historian (TimescaleDB) Max age: 5 years (ISO 50001 baseline requirement) EnMS dashboard (Ignition Perspective): Zone kWh bar chart (monthly, year-over-year) Peak demand (kW) time-series per zone Energy intensity: kWh per m² per month Export to Excel: Ignition Report Module → XLSX
Siemens WinCC OPC UA
WinCC V7.5 and later includes OPC UA client connectivity natively. Add KNX Virtual as an OPC UA server in the WinCC OPC UA channel, browse to KNX energy nodes, and bind to WinCC tags for trending and alarm logging. WinCC TIA Portal V16+ also supports OPC UA connections from the HMI/SCADA layer directly.
InduSoft Web Studio
AVEVA InduSoft Web Studio (now AVEVA Edge) includes an OPC UA client driver. Connect to KNX Virtual using the same endpoint URL and certificate trust procedure. InduSoft supports OPC UA subscriptions with configurable deadband — configure 0.01 kWh deadband for energy totals to prevent excessive database writes.
Subscription vs polling: network efficiency
The fundamental advantage of OPC UA subscriptions over Modbus polling or BACnet COV is configurable publishing intervals and deadbands at the subscription level, independent of the underlying KNX scan rate. A SCADA system with 2,000 KNX nodes can subscribe to all nodes with a 500ms publishing interval — but only receives network packets for nodes that have actually changed beyond their deadband.
OPC UA subscription configuration
Subscription parameters (configured in OPC UA client): Publishing interval: 500ms (minimum update rate) Lifetime count: 1200 (600 seconds before timeout) Max keep-alive count: 20 (10 seconds between heartbeats) Max notifications: 0 (unlimited per publish cycle) Monitored item parameters (per node): Sampling interval: 500ms (same as publishing interval) Queue size: 1 (latest value only) Discard oldest: true Deadband configuration (prevents unnecessary publishes): Temperature nodes: Absolute ±0.1°C Energy total (kWh): Absolute ±1 kWh Power demand (kW): Absolute ±0.05 kW Lighting dimmer (%): Absolute ±0.5% Binary (on/off): No deadband (always publish changes) Network impact example: 2,000 KNX nodes, 500ms publishing interval, 90% static: Without deadband: 4,000 OPC UA publish messages/second With deadband: ~200 messages/second (only changed values) Network load reduction: 95%
Multiple clients, one server: OPC UA supports multiple simultaneous client subscriptions to the same server. Desigo CC, Ignition SCADA, and an energy management dashboard can all subscribe to KNX energy nodes concurrently. KNX Virtual maintains separate subscription state for each client — publishing intervals, deadbands, and monitored node sets are independent per client. The KNX bus is polled only once regardless of how many OPC UA clients are subscribed.
Need KNX OPC UA integration for your SCADA or BMS project?
We design KNX panels with OPC UA server integration pre-configured — group address import, certificate setup, and node tree verified against your SCADA tag structure before delivery.
Request a quote →