MXL
The classic Siemens intelligent panel line, connected through its FSI serial interface.
FireLink FSI-BACnet attaches to the serial port your Siemens fire panel already has and publishes every point to the building management system over BACnet/IP, without ever writing back to the panel.
Three stages between the panel's serial port and your BMS front end. Pick one to watch it run.
The gateway polls the RPM's FSI serial port and decodes the framed protocol, reading every event queue, every point, and every trouble code the panel reports. Each frame carries a checksum, an opcode, a message number and a node-module-device address.
STX 4A F 07 001-000-000 ETX
STX 9C A 08 001-003-012,SMOKE L1 B12 ETX
Import the panel's own XML export to recover the real device tree of nodes, loop modules, and detector bases. Every point receives a deterministic BACnet instance number, so the object a technician commissions today is the same object the BMS reads next year.
Serve BACnet/IP on UDP 47808 with intrinsic reporting, so the BMS discovers the panel's points like any other device on the network. No driver, no polling script, no custom integration on the BMS side.
FireLink speaks Siemens' Foreign Systems Interface over RS-232, attached to the RPM's serial port. Scope it to one panel with FSI Local, or to the whole XNET network with FSI Global.
The classic Siemens intelligent panel line, connected through its FSI serial interface.
XLS systems attach at the RPM's serial port, the same port the panel already exposes for foreign systems.
Modular nodes on an XNET network, covered panel-by-panel with FSI Local or network-wide with FSI Global.
| Serial link fixed by the protocol | |
|---|---|
| Baud rate | 19200 |
| Data bits | 7 |
| Parity | Even |
| Stop bits | 1 |
| Handshake | None |
| Event model | |
| Standard | North American NFPA |
| Event queues | 4 or 9, per panel configuration |
| Queue types | Alarm / Supervisory / Security / Trouble |
Every panel point becomes a proper BACnet object with a name taken from the panel's own device tree and an instance number that never changes.
Node2/XDLC(2)/OP921(1)/MultiCritSensor(1)
addr 2-2-1-1 · OP921 detector base on an XDLC loop, Cerberus PRO Modular node
| Map key | BACnet object | Instance | What the BMS reads |
|---|---|---|---|
| Point status | |||
| 2-2-0-1-1|status | LifeSafetyPoint | 1 | Also available as MultiStateInput or BinaryInput. Per-point overrides win in the order component > type > global. |
| Detector analog scanned no faster than every 300 s, so trend it | |||
| 2-2-0-1-1|ai | AnalogInput | 17 | Analog value |
| 2-2-0-1-1|ai:sense | AnalogInput | 30 | Sensitivity |
| 2-2-0-1-1|ai:thres | AnalogInput | 31 | Threshold |
| Trouble reason | |||
| 2-2-0-1-1|trouble | MultiStateInput | 32 | The full 231-code trouble table as state text, so state 62 reads "AC Fail/brownout". The operator sees words, not numbers. |
| Node level | |||
| node:2|audsil | Binary | 66 | Audible Silenced. One object per panel node, so the BMS knows when audibles were silenced at the panel. |
| Class | Priorities | Carries |
|---|---|---|
| FSI Alarms | 40 / 80 / 200 | Alarms. Acknowledgement required. |
| FSI Faults | 120 / 120 / 220 | Troubles and supervisories. |
Every instance number is derived from the point's address, which is what the map key records. They stay stable across restarts and re-mapping, so your BMS graphics never break.
The point list comes from the panel, the numbers never move, and the paperwork exports itself.
The panel's own XML export becomes the device tree. Nothing typed by hand.
Derived from the point's address, so 2-2-0-1-1|status is always 1.
Publish any point as LifeSafetyPoint, MultiStateInput or BinaryInput.
The BMS shows "AC Fail/brownout", not code 62.
Alarms require acknowledgement. Faults report on their own class.
A standard EDE file (VERSION_OF_LAYOUT;2.2) for your BMS engineer's tools.
Watch decoded FSI frames arrive, NAK reasons included.
Restarts itself as a background service, commissioned from the browser.
Never writes to the panel. By construction, not policy. See how.
FireLink listens; it does not command. The gateway never transmits an ack, silence, reset, arm/disarm, or set-time to the panel, and WriteProperty is denied on every object it serves. A BMS operator, or anything else on the BACnet network, cannot change the state of the fire system through this gateway.
This is the complete list of everything FireLink connects to.
To the RPM's serial port on the fire panel.
19200 · 7-E-1 · no handshake
BACnet/IP on UDP 47808, within the Annex J range 47808–47823.
BACnet/IP · UDP 47808
Configure, map, and watch live traffic from any browser on the network, with nothing to install on your workstation.
browser-based
NESCO is an engineering firm covering MEP engineering, low-current systems, and custom software, serving Lebanon and the Middle East.
FireLink FSI-BACnet comes from the same discipline that runs our cloud platforms: engineering you can hold to account, delivered as software. This page extends the corporate site at www.nesco.com.lb.
Leave your details and we'll get back to you about your panel and how the gateway fits.
We'll show you the commissioning UI against a real panel export, covering the XML import, the point map, and the live traffic log.
We'll reach out to arrange the walkthrough. If it's urgent, call +961 79 306 690.