Skip to content

Protequ Adapter Developer Docs

Build a device adapter that bridges physical security hardware — controllers, readers, NVRs, panels — to the Protequ platform. You describe the device in YAML and write thin C# protocol logic; the framework and its source generator handle the rest.

Start here

Understand the model

  • Code generation — how YAML + your C# become typed Things, commands, and events
  • Framework architecture — the runtime: Thing tree, lifecycle, messaging, capabilities
  • Core concepts — events, status, commands, functions, and the rest of the vocabulary

Build

  • Patterns — proven recipes: command handling, event translation, status polling, video streaming, and more
  • Archetypes — end-to-end shapes for common device families
  • Reference — the generated API, functions registry, and YAML properties
  • Supported devices — per-adapter reference: device model, capabilities, events, acceptance test results

Ship

  • Publishing an adapter — package your adapter as a labelled container image and push it to repo.protequ.com
  • Writing and delivering documentation — the full path from device documentation to the published adapter pages
  • PQ SDK Tooling — install the tooling, prepare the coverage file, validate the bundle, and preview the generated pages
  • Image anatomy — the Dockerfile, the runtime contract, and how the installer runs your container
  • Label reference — every OCI label the platform reads, and what it drives

Prove it works

Two kinds of checks

Technical requirements protect the platform: memory safety, stable long-running operation and correct use of the framework (for example, no direct EventBuilder calls). Protequ requires them. The build enforces many of them with analyzers; review checks the rest.

Behavior checks describe how a device appears in PQ (for example, a detector alarm also raises its partition). We recommend that your adapter meets all of them. If you decide not to, for any reason, that is a legitimate choice and it is yours. How closely an adapter matches PQ behavior can only influence a customer's decision whether to install it.


New to the framework? Read Code generation and Framework architecture first — they are the mental model everything else builds on.