PepperDash.Plugins.Megapixel 2.0.0-4series-migration.3

This is a prerelease version of PepperDash.Plugins.Megapixel.
dotnet add package PepperDash.Plugins.Megapixel --version 2.0.0-4series-migration.3
                    
NuGet\Install-Package PepperDash.Plugins.Megapixel -Version 2.0.0-4series-migration.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PepperDash.Plugins.Megapixel" Version="2.0.0-4series-migration.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PepperDash.Plugins.Megapixel" Version="2.0.0-4series-migration.3" />
                    
Directory.Packages.props
<PackageReference Include="PepperDash.Plugins.Megapixel" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PepperDash.Plugins.Megapixel --version 2.0.0-4series-migration.3
                    
#r "nuget: PepperDash.Plugins.Megapixel, 2.0.0-4series-migration.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PepperDash.Plugins.Megapixel@2.0.0-4series-migration.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PepperDash.Plugins.Megapixel&version=2.0.0-4series-migration.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=PepperDash.Plugins.Megapixel&version=2.0.0-4series-migration.3&prerelease
                    
Install as a Cake Tool

4Series-Tested

PepperDash Essentials Pluign Logo

Megapixel Helios (c) 2024

Minimum Helios firmware version = 24.11.0.23030

License

Provided under MIT license

Overview

PepperDash Essentials plugin for the Megapixel Helios LED display controller. Provides power control, brightness, input selection, preset recall, test patterns, HDMI hotplug, and redundancy management via the Helios REST API.

  • Supports HTTP and HTTPS connections with automatic self-signed certificate trust
  • Basic and Digest authentication
  • Configurable polling interval
  • SIMPL bridge integration via eiscApiAdvanced

Configuration Object

Device

MinimumEssentialsFrameworkVersion = 1.16.0

Type: megapixelHelios

{
	"key": "display-1",
	"uid": 1,
	"name": "Megapixel Helios",
	"group": "display",
	"type": "megapixelHelios",
	"properties": {
		"control": {
		"method": "https",
		"tcpSshProperties": {
			"address": "192.168.1.100",
			"port": 443,
			"username": "{as defined in HELIOS web application}",
			"password": "{as defined in HELIOS web application}",
			"autoReconnect": true,
			"autoReconnectIntervalMs": 10000
			}
		},
		"pollTimeMs": 15000,
		"brightness":{
		"high": 60,
		"medium": 40,
		"low": 20
		},
		"presets":[
		{ "name": "HDMI1", "presetName": "HDMI1" },
		{ "name": "HDMI2", "presetName": "HDMI2" },
		{ "name": "SDI1" , "presetName": "SDI1"  },
		{ "name": "SDI2" , "presetName": "SDI2"  }
		]
	}
}
Property Type Default Description
control.method string - http or https
control.tcpSshProperties.address string - Device IP address
control.tcpSshProperties.port int 443/80 Only needed when overriding the default HTTP 80 or HTTPS 443
control.tcpSshProperties.username string - Authentication username
control.tcpSshProperties.password string - Authentication password
pollTimeMs long 15000 Polling interval in milliseconds
brightness.high ushort - Brightness level for "high" preset (0-100)
brightness.medium ushort - Brightness level for "medium" preset (0-100)
brightness.low ushort - Brightness level for "low" preset (0-100)
presets array - List of preset objects with label, presetName, and/or presetId

Bridge

{
	"key": "devices-bridge",
	"uid": 2,
	"group": "api",
	"type": "eiscApiAdvanced",
	"properties": {
		"control": {
			"tcpSshProperties": {
				"address": "127.0.0.2",
				"port": 0
			},
			"ipid": "a6",
			"method": "ipidTcp"
		},
		"devices": [
			{ "deviceKey": "display-1"     , "joinStart": 1 }			
		]
	}
}

Join Map

Digitals

Join Number Join Span Description Type Capabilities
1 1 Power Off (blackout) Digital ToFromSIMPL
2 1 Power On (blackout) Digital ToFromSIMPL
3 1 Poll (public API) Digital FromSIMPL
4 1 Redundancy Role Main Digital ToFromSIMPL
5 1 Redundancy Role Backup Digital ToFromSIMPL
6 1 Redundancy Role Offline Digital ToFromSIMPL
7 1 Redundancy State Main Digital FromSIMPL
8 1 Redundancy State Backup Digital FromSIMPL
7 1 Redundancy State Active Digital ToSIMPL
8 1 Redundancy State Standby Digital ToSIMPL
9 1 Redundancy State Mixed Digital ToSIMPL
31 1 Test Pattern On Digital ToFromSIMPL
32 1 Test Pattern Off Digital ToFromSIMPL
33 1 Brightness High Digital ToFromSIMPL
34 1 Brightness Medium Digital ToFromSIMPL
35 1 Brightness Low Digital ToFromSIMPL
41 1 Hdmi1 Hotplug Digital FromSIMPL
42 1 Hdmi2 Hotplug Digital FromSIMPL
41 1 Hdmi1 Invalid Digital ToSIMPL
42 1 Hdmi2 Invalid Digital ToSIMPL
50 1 Is Online Digital ToSIMPL

Analogs

Join Number Join Span Description Type Capabilities
3 1 Response Code AnalogSerial ToSIMPL
21 1 Preset select by presetId AnalogSerial ToFromSIMPL
33 1 Brightness AnalogSerial ToFromSIMPL

Serials

Join Number Join Span Description Type Capabilities
1 1 Device Name Serial ToSIMPL
3 1 Response Content Serial ToSIMPL
10 1 Input select by inputName Serial ToFromSIMPL
21 1 Preset select by presetName Serial ToFromSimpl

POINT OF CLARIFICATION

  1. The API document (see docs folder) tracks both role and state objects.
  2. The role API call refers to the long-term role assigned to the device (main vs backup), not typically changed.
  3. The state API call refers to both the requested and reported state of the device.
  4. The device is capable of detecting loss of video from the primary or main controller and automatically switches state as needed.
  5. The device will report current state as either active, standby, or mixed.
  6. The various state definitions reported above cannot be requested.
  7. The only valid state the device accepts is main or backup.
  8. The state request of main vs backup should be sent to override the automatic switch reported.
  9. Hotplug requests utilize manufacturer private API which may change with firmware.

API Endpoints

Method HTTP Endpoint Description
Poll GET /api/v1/public Poll device public API
PollPrivateApi GET /api/v1/data Poll device private API
PowerOn PATCH /api/v1/public Set blackout to false
PowerOff PATCH /api/v1/public Set blackout to true
SetBrightness PATCH /api/v1/public Set brightness level (0-100)
TestPatternOn/Off PATCH /api/v1/public Enable/disable test pattern
RecallPresetById POST /api/v1/presets/{id}/apply Recall preset by numeric ID
RecallPresetByName POST /api/v1/presets/apply Recall preset by name
RecallInputByName PATCH /api/v1/public Select input by name
GetPresetsList GET /api/v1/presets/list Query available presets
GetRedundancyState GET /api/v1/public?dev.display.redundancy Query redundancy status
SetRedundancyRole* PATCH /api/v1/public Set redundancy role
SetRedundancyState* PATCH /api/v1/public Set redundancy state
HotplugHdmi1/2 PATCH /api/v1/data Force HDMI hotplug (private API)

DEVJSON Commands

Public Methods that can be used with devjson to test controls.

devjson:1 {"deviceKey":"display-1","methodName":"PowerOn"                    ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"PowerOff"                   ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"Poll"                       ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"PollPrivateApi"              ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"GetRedundancyState"         ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"SetRedundancyRoleToMain"    ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"SetRedundancyRoleToBackup"  ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"SetRedundancyRoleToOffline" ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"SetRedundancyStateToMain"   ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"SetRedundancyStateToBackup" ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"SetBrightness"              ,"params":["50"   ]}
devjson:1 {"deviceKey":"display-1","methodName":"GetPresetsList"             ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"RecallPresetById"           ,"params":[1      ]}
devjson:1 {"deviceKey":"display-1","methodName":"RecallPresetByName"         ,"params":["full" ]}
devjson:1 {"deviceKey":"display-1","methodName":"TestPatternOn"              ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"TestPatternOff"             ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"RecallInputByName"          ,"params":["hdmi1"]}
devjson:1 {"deviceKey":"display-1","methodName":"HotplugHdmi1"               ,"params":[       ]}
devjson:1 {"deviceKey":"display-1","methodName":"HotplugHdmi2"               ,"params":[       ]}
Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0-4series-migration.3 87 4/10/2026
2.0.0-4series-migration.2 71 4/10/2026