TreeAlarm integration
Video on the monitoring map
TreeAlarm is a monitoring system for physical objects. Objects form a tree, carry states and alarms, and are drawn as figures on a Leaflet map. The VMS connects to it as a video subsystem.
The integration is optional and off by default — the VMS runs perfectly well on its own.
What you get
Cameras appear on the map by themselves. The VMS pushes its cameras into TreeAlarm as objects, each with a camera icon, keeping them in sync as configuration changes. You place them on the map; their configuration stays owned by the VMS.
Select a camera, watch it. From the camera’s properties panel, jump straight to live video — streamed over WebRTC — or switch to the archive and browse recorded clips by day.
Video walls carry over. Monitors configured in the VMS render inside TreeAlarm with the same layouts, each tile a working camera card.
Control from the map. Pan, tilt and zoom cameras that support it, arm and disarm them, toggle continuous recording, and change the recording profile — without leaving the monitoring interface.
Alarms become events. When the VMS records an alarm, it lands in TreeAlarm’s event stream attached to the right camera object.
One sign-in. Both systems trust the same Keycloak realm, so a user signed into TreeAlarm is not asked to log in again.
And back again. From a camera in the VMS interface, jump to that same camera on the TreeAlarm map.
Turning it on
Two environment variables in the VMS deployment:
| Variable | Purpose |
|---|---|
SQUARE_INTEGRATION_SINK_APP_ID | where to push cameras and alarms |
SQUARE_FRONTEND_ORIGIN | the monitoring frontend’s origin, so its browser requests are accepted |
Leave them empty and none of the above happens — no push, no cross-origin access, standalone behaviour unchanged. Single sign-on additionally needs both systems pointed at the same Keycloak realm.
📩 Want to see it working? Contact us