Building integrations
Every kiosk in your swarm is also a first-class building endpoint. It speaks BACnet/IP and Modbus TCP at the same time, so the systems you already run can read a screen's health and drive what it shows — with no extra hardware.
How integrations work
Each unit serves BACnet/IP and Modbus TCP concurrently. Point your BMS or SCADA at the unit's IP address and you get a live picture of the screen plus a set of writable control points.
Writes are not a side channel. A write from the building system is applied exactly like a change made in the unit's own settings: the value is committed to the kiosk's configuration and the display reconnects to the new target, just as if you had changed it in the dashboard.
Most writes take effect and reconnect the display. Brightness and volume apply live, without restarting the view. Passwords are write-only: they are applied but never read back.
BACnet/IP objects
Health surfaces as read-only Binary Inputs, live information as CharacterString Values, and control as writable Binary Values. The kiosk view itself is reprogrammable through a small set of Multistate, CharacterString and Analog Value objects.
Binary Inputs (read-only health)
BI:1 display-running BI:2 client-running BI:3 usbip-running
BI:4 zerotier-online BI:5 wifi-connected BI:6 network-online
CharacterString Values (read-only info)
CSV:1 ip-address CSV:2 current-target
Binary Values (writable control)
BV:1 remote-input-disabled BV:2 screen-blank
BV:3 reboot BV:4 restart-display
Kiosk view programming (writable)
MSV:1 kiosk-mode (1=VNC 2=RDP 3=Web)
CSV:10 target-host AV:1 target-port CSV:11 target-url
(passwords are write-only over BACnet; applied but never read back)
Modbus TCP registers
The same points appear over Modbus TCP. Register numbers below are 1-based, as a SCADA shows them. Health is on Discrete Inputs, momentary and latching control on Coils, and the full kiosk view — mode, geometry, brightness, volume and target — on Holding Registers.
Discrete Inputs (FC2, read-only)
1 display-running 2 client-running 3 usbip-running
4 zerotier-online 5 wifi-connected 6 network-online
Coils (FC1/5/15, read/write)
1 remote-input-disabled 2 screen-blank
3 reboot (momentary) 4 restart-display (momentary)
Holding Registers (FC3/6/16, read/write)
1 kiosk-mode (1=VNC 2=RDP 3=Web 4=NodeRED 5=HTML)
2 rotation (1=0 2=90 3=180 4=270) 3 mirror (1=none 2=h 3=v)
4 brightness (0-100) 5 volume (0-100) 6 target-port
7-22 target-host (ASCII) 23-62 target-url (ASCII)
The target-host and target-url blocks pack one ASCII character per register and are null-terminated on read. Write the host or URL across its range, set the mode and port, and the screen switches to the new target on the next reconnect.
At a glance
| Point | Modbus | Access |
|---|---|---|
| Kiosk mode | HR 1 | read/write |
| Rotation | HR 2 | read/write |
| Mirror | HR 3 | read/write |
| Brightness (0-100) | HR 4 | read/write, live |
| Volume (0-100) | HR 5 | read/write, live |
| Target port | HR 6 | read/write |
| Target host (ASCII) | HR 7-22 | read/write |
| Target URL (ASCII) | HR 23-62 | read/write |
| Reboot | Coil 3 | momentary |
| Restart display | Coil 4 | momentary |
Node-RED bridge
Node-RED is both an integration surface and a selectable kiosk mode (mode 4 on the register map). Choose it and the screen renders your flow's dashboard directly.
Alongside that, a bridge mirrors the kiosk's state to Node-RED through a live state file, updated both ways:
- Kiosk to flow. The current health, mode, target, brightness, volume and control state are published to a state file your flows can read.
- Flow to kiosk. Values a flow writes back are picked up and applied on the next tick, exactly like any other write.
You can also expose your own custom registers to a flow, so purpose-built logic can read and drive the screen without touching the standard map.
HDMI-CEC
Over the HDMI cable itself, each unit uses HDMI-CEC to power the attached display on and off and to switch its inputs. That means schedules and control points can black out a wall at night or wake it in the morning with no separate control wiring run to the panel.
Getting connected
Reach the unit
Point your BMS or SCADA at the kiosk's IP address. Modbus TCP answers on the standard port
502unless you set another. The unit reports its own address onCSV:1and Modbusstatus.ip.Read health first
Poll the Binary Inputs / Discrete Inputs to confirm the display, client and network are up before you drive anything.
Drive the view
Set the kiosk mode, target host, port or URL, then reboot or restart the display if you need to force a clean reconnect. The change persists as the unit's own setting.
Because a building write lands in the same place as a dashboard change, the two never fight: whatever was set last — from the BMS or from your dashboard — is what the screen shows.