Access control · P0 · HIGH NDAA OK
Lowest common path when a vendor ACS can publish events (or IT runs a bridge).
MQTT 3.1.1/5 over TLS (8883) · JSON payloads
Lowest common denominator when a vendor API is closed: IT runs a small bridge that republishes panel events.
12events mapped
4health probes
5fixtures
P0catalog tier
Install to site
Licensing: None. Broker hosted by district on the VPS.
Capabilities
eventshealth
Device types matched
acs_mqttacs_generic
Event map vendor key → msad17.event/1
| Vendor key | Platform type | Priority | Label |
|---|---|---|---|
| forced_open | door.forced | P1 | Door forced open |
| held_open | door.held | P2 | Door held open |
| granted | door.access_granted | INFO | Access granted |
| denied | door.access_denied | P4 | Access denied |
| panel_offline | door.comm_loss | P2 | Controller communication loss |
| duress | io.duress | P1 | Duress / panic input |
| door_forced | door.forced | P1 | Door forced open |
| door_held | door.held | P2 | Door held open |
| access_granted | door.access_granted | INFO | Access granted |
| access_denied | door.access_denied | P4 | Access denied |
| comm_loss | door.comm_loss | P2 | Controller communication loss |
| tamper | io.duress | P1 | Duress / panic input |
Health probes
emitted into config/health-probes.json on install · executed by VPS workers| ID | Check | Kind | Params |
|---|---|---|---|
| broker_tls | MQTT broker TLS connect | mqtt_connect | {"timeout_ms":4000} |
| subscribe | Subscribe to door/panel topics | mqtt_sub | {"timeout_ms":3000} |
| lwt | Last-will / retained status present | mqtt_retain | {"timeout_ms":3000} |
| event_lag | Event lag < 10s | lag | {"max_lag_s":10} |
Endpoints
| Method | Path | Purpose |
|---|---|---|
| SUB | msad17/acs/+/door/+/event | Door events (site, door wildcards) |
| SUB | msad17/acs/+/panel/+/status | Panel heartbeat / LWT |