top of page

Virtual Commissioning Lab for Smart Building Integrators
Stop debugging integrations onsite. SPX lets you spin up realistic device and environment simulations, replay commissioning scenarios deterministically, and validate automation logic before you touch a real building.
Simulate BACnet/KNX/Modbus/MQTT devices with realistic behavior
Replay commissioning scenarios (alarms, schedules, faults, timing)
CI-ready and portable via Docker + spx-python automation
SPX platform overview
SPX is the engineering platform for virtual commissioning: a Docker-based virtual device lab for building and testing realistic device behavior. It combines protocol-level simulation, physics-driven dynamics, scenario execution, and automation hooks so integrators can reproduce issues, debug faster, and lock regression checks before going onsite. Field time should confirm assumptions—not reveal surprises.
Why virtual commissioning is hard
Most commissioning failures happen at the system level, not the device level:
Limited access to real buildings and lab setups
Many protocol combinations across vendors and gateways
Flaky, nondeterministic behavior caused by timing and environmental dynamics
Debugging that requires onsite reproduction—expensive, slow, and operationally risky
The result is rework, delayed handovers, and project margins that move more than the schedule chart.

How SPX supports virtual commissioning
SPX gives integrators a repeatable environment where the system under test communicates over real protocols, while scenarios and automation enforce deterministic system behavior. You can validate logic, timing, and failure handling before you ever connect to a live site. 
Core capabilities:
-
Model-based device definitions (stateful behavior, not static stubs)
-
Environment and signal dynamics (noise, drift, realistic transitions)
-
Scenario-driven system validation (normal → degraded → offline → recovery)
-
Protocol-level simulation for BACnet, KNX, Modbus, MQTT
-
Observability: logs, timelines, and runtime diagnostics
-
Automation-ready workflows with spx-python and Docker

What you can test with SPX
SPX supports layered commissioning validation:
-
Device + environment behavior validation (signals, limits, transitions)
-
Integration tests against running protocol instances
-
System scenarios: schedules, overrides, alarms, interlocks, recovery
-
Regression checks after logic changes (deterministic replay)
-
Pack/environment-level runs that can be executed in CI pipelines

Technical capabilities
These capabilities focus on integrator-grade repeatability, protocol realism, and scenario-driven validation.
Validate real integration flows without physical devices:
-
BACnet object/property patterns for BMS integration
-
KNX group address behavior for actuator and sensor flows
-
Modbus TCP register maps, scaling, timing behaviors
-
MQTT telemetry/commands for gateways and cloud integrations
-
Run mixed-protocol stacks to test gateway logic end-to-end
-
Turn commissioning into a repeatable checklist:
-
Normal → degraded → offline → recovery sequences
-
Alarm storms, threshold flapping, sensor dropouts
-
Schedule conflicts, overrides, priority handoffs
-
Deterministic replay for debugging and regression baselines
-
Commissioning failures often come from real-world dynamics. SPX can model:
-
Weather/temperature trends, thermal inertia, occupancy changes
-
Noise bursts, drift, jitter, unstable sensor behavior
-
Realistic state machines and device response logic
This keeps integrations realistic even before you have access to a real building.
-
Debug faster with runtime evidence:
-
Protocol and model logs suitable for commissioning reports
-
Timing-aware traces to identify ordering and delay issues
-
Deterministic replay to confirm fixes with the same scenario
-
Drive commissioning checks programmatically:
-
Create/reset/start/stop instances
-
Set inputs, read outputs, trigger scenarios
-
Deterministic setup/teardown for repeatable test runs
Ideal for building a commissioning test suite that runs on demand.
-
Make commissioning scalable across projects and teams:
-
Run the same environment locally and in CI
-
Collect logs/diagnostics on failures
-
Share the stack with subcontractors and across branches
This reduces lab drift and improves delivery predictability.-
Scale simulation content safely:
-
Use a spec-first workflow for device behavior and scenarios
-
Generate variations faster while keeping conventions consistent
-
Keep quality high with validation + runtime smoke checks + CI gates
-
Articles
bottom of page






