Access Control · Paxton Net2 · OEM SDK · OSDP v2 · KNX · 10 min read

Paxton Net2 Access Control to KNX: OEM SDK and Door Event Automation

Paxton Net2 is one of the most widely installed access control systems in UK commercial buildings, hotels, and schools. Connecting Net2 door events to KNX enables occupancy-driven HVAC, automatic lighting responses to access events, and hotel room energy card integration — using the Net2 OEM SDK, RS232 serial output, or OSDP v2 reader protocol.

Paxton Net2 overview and integration options

Paxton Net2 Pro and Net2 Access Control software runs on a Windows PC acting as the access control server. Net2 ACUs (Access Control Units) connect to the server via a dedicated RS485 network or Ethernet, managing readers, door strikes, and input/output points throughout the building. Three integration paths exist for KNX connectivity:

MethodRequirementsLatencyBest For
OEM SDK (COM API)Net2 Pro, C# Windows service, knxdotnet library1-2 secondsFull event access, multi-door
RS232 serial outputNet2 ACU RS232 port, Node-RED serial node1-3 secondsSimple single-door setups
OSDP v2 + BeckhoffOSDP-capable ACU, TwinCAT + EL6700 RS485Under 500msEnterprise, no PC server needed

The Net2 OEM SDK is a COM-based API available from the Paxton developer portal — an NDA and registration are required. The SDK is primarily used by system integrators building custom management software. For KNX integration, a lightweight C# Windows service using the SDK is the most capable approach, giving access to all Net2 event types and door control commands.

Net2 OEM SDK C# integration service

The C# Windows service subscribes to Net2 COM events and forwards relevant events to KNX via the KNX IP Interface. The knxdotnet library (available on NuGet) provides .NET-native KNX group telegram sending. Door ID to KNX group address mapping is stored in an XML or JSON configuration file, making it easy to update without recompiling.

C# Net2 SDK event subscription (simplified)

// Install: Paxton.Net2.OemClientLibrary (COM reference)
// Install: KNXLib (NuGet) — knxdotnet KNX IP Interface

var net2 = new Paxton.Net2.OemClient();
net2.Connect("localhost", Net2Port);
net2.OnEventReceived += OnNet2Event;

void OnNet2Event(Net2Event evt) {
  switch (evt.EventType) {
    case EventType.AccessGranted:
      var mapping = config.GetKnxMapping(evt.DoorId);
      if (mapping != null) {
        knx.Action(mapping.GroupAddress, true); // DPT 1.001
        knx.Action(mapping.HvacGroupAddress, true); // HVAC occupied
      }
      break;
    case EventType.AccessDenied:
      // optional: write to security alert GA
      break;
    case EventType.AlarmActivated:
      knx.Action("8/0/1", true); // alarm relay
      break;
  }
}

// config.json mapping example:
// { "doorId": 101, "ga": "3/0/1", "hvacGa": "4/0/1" }
// { "doorId": 102, "ga": "3/1/1", "hvacGa": "4/1/1" }

RS232 serial output alternative

For simpler installations where the full SDK is not required, the Net2 ACU RS232 serial port outputs ASCII event strings on each access event. This approach requires no SDK licence and can be processed by Node-RED with the serial node — useful when the installation already uses Node-RED for other building automation functions.

RS232 serial event format and Node-RED parsing

Net2 ACU RS232 output (9600 baud, 8N1):
  ASCII string per event: "DOOR:101,EVENT:ACCESS_GRANTED,USER:Smith
"

Node-RED serial in node:
  Port: /dev/ttyUSB0 (or COM3 on Windows)
  Baud: 9600, 8N1
  Split: on newline character

Function node — parse and route:
  const parts = msg.payload.split(",");
  const doorId = parts[0].split(":")[1];
  const event = parts[1].split(":")[1];
  if (event === "ACCESS_GRANTED" && doorId === "101") {
    msg.knxGA = "3/0/1";
    msg.knxValue = true;
  }
  return msg;

KNX write node → IP Interface → KNX bus

Limitation: RS232 event format is not officially documented
  by Paxton — verify exact format with your ACU firmware version
  before building production automation on this approach

UK office building practical scenario

A typical UK office building with Net2 at the main entrance and fire exit uses the SDK service to drive KNX occupancy-based automation. The last-user-out pattern eliminates the need for time-based schedules and responds to actual building usage.

UK office — access event to KNX building control

Morning arrival (first AccessGranted at main entrance):
  → KNX GA 3/0/0 = true (lobby lights ON)
  → KNX GA 4/0/0 = true (HVAC building occupied mode)
  → KNX GA 5/0/0 = false (disable night setback)

End of day — last user leaves after 18:00:
  C# service tracks occupancy count per door zone
  When count reaches zero after 18:00:
  → KNX GA 4/0/0 = false (HVAC setback mode)
  → KNX GA 3/0/0 = false (lights off — after 60s delay)
  → KNX GA 5/0/0 = true (night setback active)

Fire alarm integration (Net2 AlarmActivated event):
  → KNX GA 8/0/1 = true (fire alarm relay to KNX PA system)
  → KNX GA 3/0/1 = 255 (emergency lighting full brightness)
  Net2 also releases all doors to fail-safe unlocked state
  KNX door strike outputs (if any) also release via KNX GA

OSDP v2 integration with Beckhoff TwinCAT

Net2 ACUs support OSDP v2 on RS485 for connection to OSDP-compliant card readers. For KNX projects with a Beckhoff TwinCAT PLC already in the panel, the EL6700 RS485 EtherCAT terminal combined with an OSDP library allows a single controller to handle both OSDP reader data and KNX TP bus — eliminating the Windows PC server requirement.

Beckhoff TwinCAT OSDP + KNX wiring

Hardware:
  Beckhoff CX9020 controller
  EL6700 RS485 EtherCAT terminal → OSDP v2 reader (RS485 bus)
  EL6900 KNX EtherCAT terminal → KNX TP bus

TwinCAT configuration:
  Install OSDP library (Beckhoff TE6730 or third-party)
  Configure EL6700 as OSDP master, reader as slave ID 1
  Map card number data → TwinCAT PLC variable CardNumber

TwinCAT PLC logic (Structured Text):
  IF CardNumber <> 0 AND CardNumber = ValidCard1 THEN
    KNX_WriteGA(GA := '3/0/1', Value := TRUE); // lobby lights
    KNX_WriteGA(GA := '4/0/1', Value := TRUE); // HVAC occupied
  END_IF

Advantage: no Windows PC server required
  DIN-rail controller fits inside LV panel
  KNX EL6900 certified for KNX TP communication
  Single controller, single point of maintenance

Hotel room card integration with KNX energy switch

Paxton Net2 is frequently used in hotel room entry with swipe card readers. The card insert event triggers the room welcome scene via KNX, while card removal initiates a timed setback sequence to reduce energy consumption when the room is unoccupied.

Hotel room card to KNX welcome scene

Card inserted into room holder (Net2 AccessGranted):
  → KNX GA 6/R/0 = true (Gira card switch 24V trigger activated)
  → KNX Scene "Room Welcome" fires:
      GA 3/R/0 = 80 (room lights 80% DPT 5.001)
      GA 4/R/0 = true (HVAC room comfort mode)
      GA 9/R/0 = 21 (room thermostat setpoint 21°C)

Card removed from holder (Net2 AccessGranted — out):
  → KNX GA 6/R/0 = false (Gira card switch deactivated)
  → KNX 60-second delay timer starts
  → After 60s:
      GA 3/R/0 = 0 (room lights off)
      GA 4/R/0 = false (HVAC setback mode)
      GA 9/R/0 = 18 (setback setpoint 18°C)

Net2 room door reader also logs entry/exit times
  — useful for housekeeping scheduling and BREEAM evidence

Note: R = room number (1-100) in the GA scheme
  Each room has its own GA sub-group for independent control

Net2 occupancy data and KNX energy meter fusion

Net2 reporting exports occupancy logs — users present per floor per hour — in CSV format. Combined with KNX energy meter data from Modbus-connected meters (SOCOMEC Countis, ABB B24), this allows correlation of occupancy versus energy consumption. This data fusion provides evidence for BREEAM Hea 04 occupant wellbeing assessments.

Occupancy vs energy data correlation workflow

1. Net2 scheduled report: export occupancy_floor_hourly.csv
   Columns: date, hour, floor, user_count
   Automation: Net2 Task Scheduler exports nightly at 01:00

2. KNX energy meter data (SOCOMEC Countis E14):
   Modbus TCP → LOYTEC LROC gateway → KNX GA 6/E/1 (kWh)
   Logged to building energy management system (BEMS) database
   or InfluxDB via Node-RED

3. Python script merges datasets:
   energy_per_hour = InfluxDB query (kWh by floor, by hour)
   occupancy_per_hour = CSV import (users by floor, by hour)
   energy_per_person = energy_per_hour / occupancy_per_hour
   Output: energy_intensity.csv for BREEAM assessor

4. BREEAM Hea 04 evidence:
   Demonstrates energy reduction during low occupancy periods
   Confirms KNX setback automation is effective
   Shows energy-per-person improvement over 12-month period

Paxton developer access: the Net2 OEM SDK requires registration on the Paxton developer portal at developer.paxton.co.uk. An NDA must be signed before SDK documentation and libraries are provided. Allow 2-5 business days for portal access approval. The SDK is free of charge — no licence fee applies.

Need a KNX panel with Paxton Net2 integration built to spec?

We design and build low-voltage panels with Net2 SDK Windows service, KNX IP Interface configuration, OSDP v2 Beckhoff TwinCAT integration, and full commissioning documentation delivered tested to your site.

Request a quote →
Loading...
Back to top