Overview


Colocation manager is shipped with PDU SNMP module allowing to control and read states of PDU/similar devices using SNMP protocol. Number of devices/manufacturers are supported by default. In order to allow adding custom devices that are not on supported devices list, we've come up with DIY Device Driver, allowing for PDU module to read from any SNMP-enabled device.

Configuration



DIY Device driver offers following configuration options:


Feature nameDescriptionOIDValuesUnitTest
List PortsThis is default feature that all devices should support. It's used to test connection as well as listing ports in Colocation manager when defining connections in device.see notes above the table--

Test will perform snmpwalk and show you returned data in debug window.

Get Port stateInforms whether Port (outlet) is on or off. 

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

Enter what values your device reports for ON and OFF state (ie 1 and 0)-

Test will perform snmpget on OID, parsed with port value you enter next to test button

Set Port StateAllows to enable/disable outlet on your device. Used in client portal widget to manage PDU, as well as in Colocation manager/admin area

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

Enter what values your device requires for ON and OFF state (ie 1 and 0)-Test will send ON value using snmpset on OID, parsed with port value you enter next to test button.
Get Port CurrentGet Current (amperage) of given port. Select what unit your device returns values in

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

-uA,mA,cA,A,kATest will perform snmpget on OID, parsed with port value you enter next to test button
Get port VoltageGet Voltage of given port. Select what unit your device returns values in

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

-uV,mV,cV,V,kV,MV

Test will perform snmpget on OID, parsed with port value you enter next to test button


Get port Acumulated kWhIf your device supports kWh consumption metering, and expose this information over snmp it can be used for power billing. 

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

--Test will perform snmpget on OID, parsed with port value you enter next to test button
Get port Active Power (W)Get port's Active power (W). Select what unit your device returns values in

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

-mW,cW,W,kWTest will perform snmpget on OID, parsed with port value you enter next to test button
Get Port Apparent Power (VA)Get port's Apparent power (VA). Select what unit your device returns values in

Use  {$port} in OID in place where port number should be placed.

You can use moveioid modifier (see section below the table)

-mVA,cVA,VA,kVATest will perform snmpget on OID, parsed with port value you enter next to test button


Modifying port number in OID using moveoid


On some devices readouts related to certain port number are placed fixed amount of numbers "away" from port number. DIY Device lets you define OID in dynamic fashion, using  {$port} variable.

Sample 1:

Our device returns sample list of Outlets as a result of snmpwalk on OID: SNMPv2-SMI::enterprises.14748.1.31.1 

We got this list by entering above OID in List Ports feature and clicking on "Test" next to it

7.0 => Outlet 1
12.0 => Outlet 2
17.0 => Outlet 3
22.0 => Outlet 4
27.0 => Outlet 5
32.0 => Outlet 6
37.0 => Outlet 7
42.0 => Outlet 8
47.0 => Outlet 9
52.0 => Outlet 10

To have it working with DIY Device, in OID for Get port current we'll enter:


SNMPv2-SMI::enterprises.14748.1.31.1.{$port|moveoid:0:1}

Which "means": take  {$port} value, move oid on bit "0" by "1"


Sample 2:


XXXXXXXXXXX.{$port|moveoid:3:1}