Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Last updated: Sep 11, 2026

Introduction

What is an integration?

Simply put, an OvrC Integration is an isolated piece of code serving as an adapter between OvrC and some API used to interact with the device. This adapter layer makes it possible for OvrC to interact with devices, and expose useful monitoring data in ways that otherwise would not be possible.

Every OvrC Integration falls into one of the following device categories:

  • Camera
  • Display

Each of the above categories has its own unique specification, defining what data the integration can expose, and the format of that data.

Regardless of the integration category, OvrC interfaces with an integration using the same protocol specification: JSON-RPC 2.0. OvrC is agnostic to protocols or technologies the integration uses to fetch relevant data from the device.

Here is an example of what the interaction between OvrC, an integration, and a device might look like:

sequenceDiagram
  autoNumber
  actor ovrc as OvrC
  participant integration as OvrC Integration
  participant device as Remote Device

  ovrc ->>+ integration: getSystem
  note right of ovrc: As mentioned above, getSystem is a JSON-RPC call.<br>The full JSON structure is omitted for brevity.

  par Fetch Device Model
    integration ->>+ device: HTTP/1.1 REQUEST GET /model
    device -->>- integration: HTTP/1.1 RESPONSE GET /model
  and Fetch Device Serial Number
    integration ->>+ device: HTTP/1.1 GET /serialNumber
    device -->>- integration: HTTP/1.1 RESPONSE GET /serialNumber
  end

  integration -->>- ovrc: {"model": "Some Model", "serialNumber": "Some Serial"}
  note right of ovrc: For brevity, the above is not the full<br>JSON-RPC result JSON structure.

Observe that in the previous diagram, a single JSON-RPC call from OvrC to the integration results in multiple requests being sent to the device. This is very typical for integrations.

Additionally, while the diagram above used HTTP to communicate with the device, integrations are not constrained to HTTP, or any other protocol for that matter, when interacting with a device.

That’s the gist of an OvrC Integration!