Module capabilities

Modules can expose one or more capabilities.
A capability is a standardised API endpoint that allows data to be shared between modules in a consistent way.

Capabilities make it possible for modules to consume information provided by other modules without needing to know their internal implementation.

dhcp-server

This capability is used primary for network routers which provide DHCP servers. It can be used to provide ‘friendly’ names in other modules when only the MAC or IP address is known.

/container/{panelid}/capabilities/dhcp-server/

  • lists all DHCP leases on the server, with the following fields:
Field Description
mac MAC address
address IP address
hostname active hostname for the device
comment optional comment
active whether or not the lease is active
static whether or not the lease is static

video-router

This capability is used primary for video routers. It can be used to provide routing information to other devices in the broadcast chain (eg a multiviewer).

/container/{panelid}/capabilities/video-router/

  • lists an array containing all routes on the video router with the following fields:
Field Description
outputIndex 0-based index of the router output
outputLabel text label of the router output
inputIndex 0-based index of the currently routed source
inputLabel text label of the currently routed source