DGI NVX EDID Management Driver

A C# driver for querying and modifying the EDID table on Crestron DM NVX endpoints via the CresNext HTTPS API.

Supported Frameworks

  • .NET Framework 4.8
  • .NET 8.0

Installation

Add the DGI.NVX.EDID.MANAGEMENT NuGet package to your project.

Quick Start

using Dgi_NvxEdidManagement;

// Create and connect
var driver = new NvxEdidManagement();
await driver.ConnectAsync("192.168.1.10", "admin", "admin");

// Query all inputs
var inputs = await driver.GetInputsAsync();
foreach (var input in inputs)
{
    Console.WriteLine($"{input.Name}: current EDID = {input.Ports[0].Edid.CurrentEdid}");
}

// Apply an EDID to input 0, port 0
// Note: NVX API indexing starts at 0, so input 0 is the first input and port 0 to the first port.
// Port is normally 0 for most NVX devices.
var result = await driver.ApplyEdidAsync(0, 0, "Laptop 16x9 1080p50 2ch","System");

// Apply the same EDID type to all inputs at once
await driver.SetGlobalEdidAsync("Laptop 16x9 1080p50 2ch","System");

// Read downstream display EDID from output 0, port 0
var downstream = await driver.GetOutputDownstreamEdidAsync(0, 0);
Console.WriteLine($"Connected display: {downstream.NameString}");

// Disconnect
await driver.DisconnectAsync();

Logging

The driver uses Serilog. By default it writes to the global Log.Logger. To use a custom logger:

var driver = new NvxEdidManagement();
driver.ClassLogger = Log.ForContext("Component", "NVX-Room-A");

Documentation

See the docs folder for full API reference and usage examples.