Decoding integer fields in Alerts\OnTrigger registry — does a community reference exist?

whoami ™

Pulling my weight
Aug 4, 2019
237
228
South Florida
I've been building an MCP server (bi-mcp) that lets an AI agent read Blue Iris config from the camera .reg exports,
including the per-camera action sets under Alerts\OnTrigger\<N> and Alerts\OnReset\<N>. Most of the schema is
self-explanatory once you've seen a few exports — web_path, soundPath, camname, descript, etc. — but a few fields are
integer-coded and I haven't found public documentation:

- type — the action kind. In my install I only see type=3 (Web/MQTT) and type=12 (Do Command). The other 12 BI action kinds
(Sound, Push, Email, SMS, Phone, Run Program, DIO Bits, Popup, FTP Upload, Change Shield, Change Schedule/Profile, Wait)
must each have their own integer, but I haven't toggled them in the UI yet to see what they serialize to.
- command — for type=12 Do Command actions. I see 2200..2299 for PTZ-preset recall (command=2202 = "call PTZ preset 2"),
and the manual lists ~30 do-commands in the dropdown (snapshot, profile change, /admin?, etc.) but I don't have their
integer codes.
- web_proto1 — protocol enum for type=3. I see 2 = MQTT; the UI offers HTTP-GET, HTTP-POST, MQTT, and TCP, so there are
presumably 3 more values.
- trig_source — looks like a wider bitmask (I see 132, 16514, 16516, 16518, 16522; bit 14 = 16384 seems to correlate with
AI confirmation). I haven't worked out the full bit layout.

I've already searched the forum (trig_source returns zero hits forum-wide; OnTrigger returns one on-topic post about a V6
upgrade) and the obvious GitHub projects (bp2008/BlueIrisRegistryReader, VorlonCD/bi-aidetection, magapp/blueiriscmd) —
none of them touch the action-set blobs. I half-remember someone (maybe @jaydeel ?) doing systematic .reg diffs across BI
versions to catch undocumented additions. If that's you, or you've seen the work, I'd love a pointer.

Worst case I just toggle each option in the UI on a throwaway camera and diff the exports — but if someone's already done
this, I'd rather build on top of it than redo it. Happy to publish whatever decoder tables I end up with back to the
community.

Thanks!