-- ------------------------------------------------------
-- TRIPP LITE PRODUCTS MIB
-- Copyright (c) 1999-2021 Tripp Lite
-- All rights reserved
-- ------------------------------------------------------

TRIPPLITE-PRODUCTS DEFINITIONS ::= BEGIN

IMPORTS
  DisplayString,
  TruthValue,
  TimeStamp,
  RowStatus
    FROM SNMPv2-TC
  sysUpTime
    FROM SNMPv2-MIB
  OBJECT-GROUP,
  NOTIFICATION-GROUP
    FROM SNMPv2-CONF
  MODULE-IDENTITY,
  OBJECT-IDENTITY,
  OBJECT-TYPE,
  NOTIFICATION-TYPE,
  Gauge32,
  Integer32,
  Unsigned32,
  enterprises,
  IpAddress,
  TimeTicks
    FROM SNMPv2-SMI
  tripplite
    FROM TRIPPLITE;

tlpProducts MODULE-IDENTITY
  LAST-UPDATED "202105120000Z"
  ORGANIZATION "Tripp Lite"
  CONTACT-INFO
    "Software Engineering
    Tripp Lite
    1111 W. 35th St.
    Chicago, IL 60609"
  DESCRIPTION
    "This MIB module defines MIB objects which provide mechanisms for
    remote management capabilities of Tripp Lite PowerAlert and related
    software."
  REVISION "202105120000Z"
  DESCRIPTION
      "Modifications to support additional device protocols (20.0.1)"
  REVISION "202102020000Z"
  DESCRIPTION
      "Modifications to support PADM 20"
  REVISION "201911010000Z"
  DESCRIPTION
      "Consolidated modifications from PADM 15"

  ::= { tripplite 1 }

-- tlpProducts                      OBJECT IDENTIFIER   ::= { tripplite 1 }

tlpHardware                         OBJECT IDENTIFIER   ::= { tlpProducts 1 }
tlpSoftware                         OBJECT IDENTIFIER   ::= { tlpProducts 2 }
tlpAlarms                           OBJECT IDENTIFIER   ::= { tlpProducts 3 }
tlpNotify                           OBJECT IDENTIFIER   ::= { tlpProducts 4 }

tlpDevice                           OBJECT IDENTIFIER   ::= { tlpHardware 1 }
tlpDeviceDetail                     OBJECT IDENTIFIER   ::= { tlpHardware 2 }
tlpDeviceTypes                      OBJECT IDENTIFIER   ::= { tlpHardware 3 }

tlpUps                              OBJECT IDENTIFIER   ::= { tlpDeviceTypes 1 }
tlpPdu                              OBJECT IDENTIFIER   ::= { tlpDeviceTypes 2 }
tlpEnvirosense                      OBJECT IDENTIFIER   ::= { tlpDeviceTypes 3 }
tlpAts                              OBJECT IDENTIFIER   ::= { tlpDeviceTypes 4 }
tlpCooling                          OBJECT IDENTIFIER   ::= { tlpDeviceTypes 5 }
tlpKvm                              OBJECT IDENTIFIER   ::= { tlpDeviceTypes 6 }
tlpRackTrack                        OBJECT IDENTIFIER   ::= { tlpDeviceTypes 7 }
tlpSwitch                           OBJECT IDENTIFIER   ::= { tlpDeviceTypes 8 }

tlpUpsIdent                         OBJECT IDENTIFIER   ::= { tlpUps 1 }
tlpUpsDevice                        OBJECT IDENTIFIER   ::= { tlpUps 2 }
tlpUpsDetail                        OBJECT IDENTIFIER   ::= { tlpUps 3 }
tlpUpsControl                       OBJECT IDENTIFIER   ::= { tlpUps 4 }
tlpUpsConfig                        OBJECT IDENTIFIER   ::= { tlpUps 5 }

tlpUpsBattery                       OBJECT IDENTIFIER   ::= { tlpUpsDetail 1 }
tlpUpsInput                         OBJECT IDENTIFIER   ::= { tlpUpsDetail 2 }
tlpUpsOutput                        OBJECT IDENTIFIER   ::= { tlpUpsDetail 3 }
tlpUpsBypass                        OBJECT IDENTIFIER   ::= { tlpUpsDetail 4 }
tlpUpsOutlet                        OBJECT IDENTIFIER   ::= { tlpUpsDetail 5 }
tlpUpsWatchdog                      OBJECT IDENTIFIER   ::= { tlpUpsDetail 6 }
tlpUpsFan                           OBJECT IDENTIFIER   ::= { tlpUpsDetail 7 }
tlpUpsHeatsink                      OBJECT IDENTIFIER   ::= { tlpUpsDetail 8 }
tlpUpsContact                       OBJECT IDENTIFIER   ::= { tlpUpsDetail 9 }

tlpUpsInputContact                  OBJECT IDENTIFIER   ::= { tlpUpsContact 1 }
tlpUpsOutputContact                 OBJECT IDENTIFIER   ::= { tlpUpsContact 2 }

tlpPduIdent                         OBJECT IDENTIFIER   ::= { tlpPdu 1 }
tlpPduDevice                        OBJECT IDENTIFIER   ::= { tlpPdu 2 }
tlpPduDetail                        OBJECT IDENTIFIER   ::= { tlpPdu 3 }
tlpPduControl                       OBJECT IDENTIFIER   ::= { tlpPdu 4 }
tlpPduConfig                        OBJECT IDENTIFIER   ::= { tlpPdu 5 }

tlpPduInput                         OBJECT IDENTIFIER   ::= { tlpPduDetail 1 }
tlpPduOutput                        OBJECT IDENTIFIER   ::= { tlpPduDetail 2 }
tlpPduOutlet                        OBJECT IDENTIFIER   ::= { tlpPduDetail 3 }
tlpPduCircuit                       OBJECT IDENTIFIER   ::= { tlpPduDetail 4 }
tlpPduBreaker                       OBJECT IDENTIFIER   ::= { tlpPduDetail 5 }
tlpPduHeatsink                      OBJECT IDENTIFIER   ::= { tlpPduDetail 6 }

tlpEnvIdent                         OBJECT IDENTIFIER   ::= { tlpEnvirosense 1 }
-- tlpEnvDevice                     OBJECT IDENTIFIER   ::= { tlpEnvirosense 2 }
tlpEnvDetail                        OBJECT IDENTIFIER   ::= { tlpEnvirosense 3 }
tlpEnvControl                       OBJECT IDENTIFIER   ::= { tlpEnvirosense 4 }
tlpEnvConfig                        OBJECT IDENTIFIER   ::= { tlpEnvirosense 5 }

tlpAtsIdent                         OBJECT IDENTIFIER   ::= { tlpAts 1 }
tlpAtsDevice                        OBJECT IDENTIFIER   ::= { tlpAts 2 }
tlpAtsDetail                        OBJECT IDENTIFIER   ::= { tlpAts 3 }
tlpAtsControl                       OBJECT IDENTIFIER   ::= { tlpAts 4 }
tlpAtsConfig                        OBJECT IDENTIFIER   ::= { tlpAts 5 }

tlpAtsInput                         OBJECT IDENTIFIER   ::= { tlpAtsDetail 1 }
tlpAtsOutput                        OBJECT IDENTIFIER   ::= { tlpAtsDetail 2 }
tlpAtsOutlet                        OBJECT IDENTIFIER   ::= { tlpAtsDetail 3 }
tlpAtsCircuit                       OBJECT IDENTIFIER   ::= { tlpAtsDetail 4 }
tlpAtsBreaker                       OBJECT IDENTIFIER   ::= { tlpAtsDetail 5 }
tlpAtsHeatsink                      OBJECT IDENTIFIER   ::= { tlpAtsDetail 6 }

tlpCoolingIdent                     OBJECT IDENTIFIER   ::= { tlpCooling 1 }
tlpCoolingDevice                    OBJECT IDENTIFIER   ::= { tlpCooling 2 }
tlpCoolingDetail                    OBJECT IDENTIFIER   ::= { tlpCooling 3 }
tlpCoolingControl                   OBJECT IDENTIFIER   ::= { tlpCooling 4 }
tlpCoolingConfig                    OBJECT IDENTIFIER   ::= { tlpCooling 5 }

tlpCoolingTemperature               OBJECT IDENTIFIER   ::= { tlpCoolingDetail 1 }
tlpCoolingPressure                  OBJECT IDENTIFIER   ::= { tlpCoolingDetail 2 }

tlpKvmIdent                         OBJECT IDENTIFIER   ::= { tlpKvm 1 }
tlpKvmDevice                        OBJECT IDENTIFIER   ::= { tlpKvm 2 }
tlpKvmDetail                        OBJECT IDENTIFIER   ::= { tlpKvm 3 }
tlpKvmControl                       OBJECT IDENTIFIER   ::= { tlpKvm 4 }
tlpKvmConfig                        OBJECT IDENTIFIER   ::= { tlpKvm 5 }

tlpRackTrackIdent                   OBJECT IDENTIFIER   ::= { tlpRackTrack 1 }
tlpRackTrackDevice                  OBJECT IDENTIFIER   ::= { tlpRackTrack 2 }
tlpRackTrackDetail                  OBJECT IDENTIFIER   ::= { tlpRackTrack 3 }
tlpRackTrackControl                 OBJECT IDENTIFIER   ::= { tlpRackTrack 4 }
tlpRackTrackConfig                  OBJECT IDENTIFIER   ::= { tlpRackTrack 5 }

tlpSwitchIdent                      OBJECT IDENTIFIER   ::= { tlpSwitch 1 }
tlpSwitchDevice                     OBJECT IDENTIFIER   ::= { tlpSwitch 2 }
tlpSwitchDetail                     OBJECT IDENTIFIER   ::= { tlpSwitch 3 }
tlpSwitchControl                    OBJECT IDENTIFIER   ::= { tlpSwitch 4 }
tlpSwitchConfig                     OBJECT IDENTIFIER   ::= { tlpSwitch 5 }

tlpAgentDetails                     OBJECT IDENTIFIER   ::= { tlpSoftware 1 }
tlpAgentSettings                    OBJECT IDENTIFIER   ::= { tlpSoftware 2 }
tlpAgentContacts                    OBJECT IDENTIFIER   ::= { tlpSoftware 3 }
tlpAgentAutoProbe                   OBJECT IDENTIFIER   ::= { tlpSoftware 4 }

tlpAgentIdent                       OBJECT IDENTIFIER   ::= { tlpAgentDetails 1}
tlpAgentAttributes                  OBJECT IDENTIFIER   ::= { tlpAgentDetails 2}
tlpAgentAddresses                   OBJECT IDENTIFIER   ::= { tlpAgentDetails 3}

tlpAgentConfig                      OBJECT IDENTIFIER   ::= { tlpAgentSettings 1}

tlpAgentEmailContacts               OBJECT IDENTIFIER   ::= { tlpAgentContacts 1}
tlpAgentSnmpContacts                OBJECT IDENTIFIER   ::= { tlpAgentContacts 2}
tlpAgentSmsContacts                 OBJECT IDENTIFIER   ::= { tlpAgentContacts 3}

tlpAlarmsWellKnown                  OBJECT IDENTIFIER   ::= { tlpAlarms 3 }
tlpAlarmControl                     OBJECT IDENTIFIER   ::= { tlpAlarms 4 }

tlpAgentAlarms                      OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 1 }
tlpDeviceAlarms                     OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 2 }
tlpUpsAlarms                        OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 3 }
tlpPduAlarms                        OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 4 }
tlpEnvAlarms                        OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 5 }
tlpAtsAlarms                        OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 6 }
tlpCoolingAlarms                    OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 7 }
tlpKvmAlarms                        OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 8 }
tlpRackTrackAlarms                  OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 9 }
tlpSwitchAlarms                     OBJECT IDENTIFIER   ::= { tlpAlarmsWellKnown 10 }

tlpNotifications                    OBJECT IDENTIFIER   ::= { tlpNotify 1 }
tlpNotificationsEvent               OBJECT IDENTIFIER   ::= { tlpNotify 2 }
tlpNotificationsEventParameters     OBJECT IDENTIFIER   ::= { tlpNotify 3 }

tlpDeviceNumDevices OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of devices that this agent is currently managing."
    ::= { tlpDevice 1 }

tlpDeviceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of device table entries.  The number of entries
        is given by the value of tlpDevicesNumDevices."
    ::= { tlpDevice 2 }

tlpDeviceEntry OBJECT-TYPE
    SYNTAX TlpDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular device
        managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpDeviceTable 1 }

TlpDeviceEntry ::= SEQUENCE {
    tlpDeviceIndex                  Unsigned32,
    tlpDeviceRowStatus              RowStatus,
    tlpDeviceType                   OBJECT IDENTIFIER,
    tlpDeviceManufacturer           DisplayString,
    tlpDeviceModel                  DisplayString,
    tlpDeviceName                   DisplayString,
    tlpDeviceID                     INTEGER,
    tlpDeviceLocation               DisplayString,
    tlpDeviceRegion                 DisplayString,
    tlpDeviceStatus                 INTEGER,
    tlpDeviceAssetTag               DisplayString }

tlpDeviceIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the device."
    ::= { tlpDeviceEntry 1 }

tlpDeviceRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Used with table edits to indicate the status of a given row in
        tlpDeviceTable."
    ::= { tlpDeviceEntry 2 }

tlpDeviceType OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of device. One of the appropriate hardware types:
        ups, pdu, envirosense, etc."
    ::= { tlpDeviceEntry 3 }

tlpDeviceManufacturer OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The name of the manufacturer."
    ::= { tlpDeviceEntry 4 }

tlpDeviceModel OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The model designation."
    ::= { tlpDeviceEntry 5 }

tlpDeviceName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-supplied name for the device."
    ::= { tlpDeviceEntry 6 }

tlpDeviceID OBJECT-TYPE
    SYNTAX INTEGER (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-supplied numeric identifier for the device. The range of this
        value accommodates all devices; however, some devices support a smaller
        range and return an error when setting to a value outside the supported
        range."
    ::= { tlpDeviceEntry 7 }

tlpDeviceLocation OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-supplied location for the device."
    ::= { tlpDeviceEntry 8 }

tlpDeviceRegion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-supplied region for the device."
    ::= { tlpDeviceEntry 9 }

tlpDeviceStatus OBJECT-TYPE
    SYNTAX INTEGER {
        none(0),
        critical(1),
        warning(2),
        info(3),
        status(4),
        offline(5),
        custom(6),
        configuration(7) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The currently most critical alarm status for the device."
    ::= { tlpDeviceEntry 10 }

tlpDeviceAssetTag OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-supplied textual identifier for the device."
    ::= { tlpDeviceEntry 11 }

tlpDeviceIdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpDeviceIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The identity details of each device in device table. The number
        of entries is given by the value of tlpDevicesNumDevices."
    ::= { tlpDeviceDetail 1 }

tlpDeviceIdentEntry OBJECT-TYPE
    SYNTAX TlpDeviceIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing details for a particular device."
        INDEX { tlpDeviceIndex }
    ::= { tlpDeviceIdentTable 1 }

TlpDeviceIdentEntry ::= SEQUENCE {
    tlpDeviceIdentProtocol              DisplayString,
    tlpDeviceIdentCommPortType          INTEGER,
    tlpDeviceIdentCommPortName          DisplayString,
    tlpDeviceIdentFirmwareVersion       DisplayString,
    tlpDeviceIdentSerialNum             DisplayString,
    tlpDeviceIdentDateInstalled         DisplayString,
    tlpDeviceIdentHardwareVersion       DisplayString,
    tlpDeviceIdentCurrentUptime         DisplayString,
    tlpDeviceIdentTotalUptime           DisplayString,
    tlpDeviceIdentFirmwareVersion2      DisplayString,
    tlpDeviceIdentFirmwareVersion3      DisplayString,
    tlpDeviceIdentNvrID                 DisplayString }

tlpDeviceIdentProtocol OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Tripplite protocol used to communicate with the device."
    ::= { tlpDeviceIdentEntry 1 }

tlpDeviceIdentCommPortType OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        serial(1),
        usb(2),
        hid(3),
        simulated(4),
        unittest(5) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of communications port used to connect with the device."
    ::= { tlpDeviceIdentEntry 2 }

tlpDeviceIdentCommPortName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The name of the communications port."
    ::= { tlpDeviceIdentEntry 3 }

tlpDeviceIdentFirmwareVersion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The firmware version of the device."
    ::= { tlpDeviceIdentEntry 4 }

tlpDeviceIdentSerialNum OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The serial number of the device."
    ::= { tlpDeviceIdentEntry 5 }

tlpDeviceIdentDateInstalled OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The installation date for this device in the format of yyyy-mm-dd."
    ::= { tlpDeviceIdentEntry 6 }

tlpDeviceIdentHardwareVersion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The hardware revision of the device. This value will return ERROR_NO_SUCH_NAME
        if not supported by the device."
    ::= { tlpDeviceIdentEntry 7 }

tlpDeviceIdentCurrentUptime OBJECT-TYPE
    SYNTAX DisplayString
    UNITS "hours"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The device uptime since its last startup. A device returning a single, numeric
        value reports uptime in hours. This value will return ERROR_NO_SUCH_NAME if
        not supported by the device."
    ::= { tlpDeviceIdentEntry 8 }

tlpDeviceIdentTotalUptime OBJECT-TYPE
    SYNTAX DisplayString
    UNITS "days"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The cumulative (total) uptime for the device. A device returning a single,
        numeric value reports total uptime in days. This value will return
        ERROR_NO_SUCH_NAME if not supported by the device."
    ::= { tlpDeviceIdentEntry 9 }

tlpDeviceIdentFirmwareVersion2 OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The firmware version of second IC on the device. This value will return
        ERROR_NO_SUCH_NAME if not supported by the device."
    ::= { tlpDeviceIdentEntry 10 }

tlpDeviceIdentFirmwareVersion3 OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The firmware version of third IC on the device. This value will return
         ERROR_NO_SUCH_NAME if not supported by the device."
    ::= { tlpDeviceIdentEntry 11 }

tlpDeviceIdentNvrID OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The id of NVRAM. This value will return ERROR_NO_SUCH_NAME if not supported by the device."
    ::= { tlpDeviceIdentEntry 12 }

-- ups

tlpUpsIdentNumUps OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of ups devices that this agent is currently managing."
    ::= { tlpUpsIdent 1 }

tlpUpsIdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The identity details of each ups in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are upss."
    ::= { tlpUpsIdent 2 }

tlpUpsIdentEntry OBJECT-TYPE
    SYNTAX TlpUpsIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing details for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsIdentTable 1 }

TlpUpsIdentEntry ::= SEQUENCE {
    tlpUpsIdentNumInputs                    Unsigned32,
    tlpUpsIdentNumOutputs                   Unsigned32,
    tlpUpsIdentNumBypass                    Unsigned32,
    tlpUpsIdentNumPhases                    Unsigned32,
    tlpUpsIdentNumOutlets                   Unsigned32,
    tlpUpsIdentNumOutletGroups              Unsigned32,
    tlpUpsIdentNumBatteries                 Unsigned32,
    tlpUpsIdentNumFans                      Unsigned32,
    tlpUpsIdentNumHeatsinks                 Unsigned32,
    tlpUpsIdentNumInputContacts             Unsigned32,
    tlpUpsIdentNumOutputContacts            Unsigned32,
    tlpUpsIdentNumActiveControlModules      Unsigned32,
    tlpUpsIdentNumRedundantControlModules   Unsigned32 }

tlpUpsIdentNumInputs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of input lines supported by the ups."
    ::= { tlpUpsIdentEntry 1 }

tlpUpsIdentNumOutputs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of output lines supported by the ups."
    ::= { tlpUpsIdentEntry 2 }

tlpUpsIdentNumBypass OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of bypass lines supported by the ups."
    ::= { tlpUpsIdentEntry 3 }

tlpUpsIdentNumPhases OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of phases supported by the ups."
    ::= { tlpUpsIdentEntry 4 }

tlpUpsIdentNumOutlets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of receptacles supported by the ups."
    ::= { tlpUpsIdentEntry 5 }

tlpUpsIdentNumOutletGroups OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of user-defined receptacle groups created for the
        ups."
    ::= { tlpUpsIdentEntry 6 }

tlpUpsIdentNumBatteries OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of batteries, internal and external combined, connected
         to the ups."
    ::= { tlpUpsIdentEntry 7 }

tlpUpsIdentNumFans OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of fans supported by the ups."
    ::= { tlpUpsIdentEntry 8 }

tlpUpsIdentNumHeatsinks OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of heatsink thermistors supported by the ups."
    ::= { tlpUpsIdentEntry 9 }

tlpUpsIdentNumInputContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of input contacts supported by the ups."
    ::= { tlpUpsIdentEntry 10 }

tlpUpsIdentNumOutputContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of output contacts supported by the ups."
    ::= { tlpUpsIdentEntry 11 }

tlpUpsIdentNumActiveControlModules OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of active control modules supported by the ups."
    ::= { tlpUpsIdentEntry 12 }

tlpUpsIdentNumRedundantControlModules OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of redundant control modules supported by the ups."
    ::= { tlpUpsIdentEntry 13 }

tlpUpsSupportsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsSupportsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The supported details of each ups in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are upss."
    ::= { tlpUpsIdent 3 }

tlpUpsSupportsEntry OBJECT-TYPE
    SYNTAX TlpUpsSupportsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing supported details for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsSupportsTable 1 }

TlpUpsSupportsEntry ::= SEQUENCE {
    tlpUpsSupportsEnergywise            TruthValue,
    tlpUpsSupportsRampShed              TruthValue,
    tlpUpsSupportsOutletGroup           TruthValue,
    tlpUpsSupportsOutletCurrent         TruthValue,
    tlpUpsSupportsOutletVoltage         TruthValue,
    tlpUpsSupportsOutletActivePower     TruthValue }

tlpUpsSupportsEnergywise OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the ups supports Cisco EnergyWise."
    ::= { tlpUpsSupportsEntry 1 }

tlpUpsSupportsRampShed OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ups supports ramping and shedding."
    ::= { tlpUpsSupportsEntry 2 }

tlpUpsSupportsOutletGroup OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ups supports outlet groups."
    ::= { tlpUpsSupportsEntry 3 }

tlpUpsSupportsOutletCurrent OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ups reports individual receptacle current
        measurements. Devices that do not support individual
        receptacle measurements will always return ERROR_NO_SUCH_NAME for
        tlpUpsOutletCurrent."
    ::= { tlpUpsSupportsEntry 4 }

tlpUpsSupportsOutletVoltage OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ups reports individual receptacle voltage
        measurements. Devices that do not support individual receptacle
        measurements will always return ERROR_NO_SUCH_NAME for
        tlpUpsOutletVoltage."
    ::= { tlpUpsSupportsEntry 5 }

tlpUpsSupportsOutletActivePower OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ups reports individual receptacle
        power measurements. Devices that do not support individual
        receptacle measurements will always return ERROR_NO_SUCH_NAME for
        tlpUpsOutletActivePower."
    ::= { tlpUpsSupportsEntry 6 }

tlpUpsDeviceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The device details of each ups in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are upss."
    ::= { tlpUpsDevice 1 }

tlpUpsDeviceEntry OBJECT-TYPE
    SYNTAX TlpUpsDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing device details for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsDeviceTable 1 }

TlpUpsDeviceEntry ::= SEQUENCE {
    tlpUpsDeviceMainLoadState               INTEGER,
    tlpUpsDeviceMainLoadControllable        TruthValue,
    tlpUpsDeviceMainLoadCommand             INTEGER,
    tlpUpsDevicePowerOnDelay                Integer32,
    tlpUpsDeviceTestDate                    DisplayString,
    tlpUpsDeviceTestResultsStatus           INTEGER,
    tlpUpsDeviceTemperatureC                Integer32,
    tlpUpsDeviceTemperatureF                Integer32,
    tlpUpsDeviceLastACFailureReason         INTEGER,
    tlpUpsDeviceLastShutdownReason          INTEGER,
    tlpUpsDeviceOutputCurrentPrecision      INTEGER,
    tlpUpsDeviceOutputActivePowerTotal      Unsigned32,
    tlpUpsDeviceAggregatePowerFactor        Unsigned32,
    tlpUpsDeviceGeneralFault                TruthValue,
    tlpUpsDeviceUpsType                     INTEGER,
    tlpUpsDeviceLastBypassReason            INTEGER,
    tlpUpsDeviceBuzzerStatus                INTEGER }

tlpUpsDeviceMainLoadState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the main output of the device."
    ::= { tlpUpsDeviceEntry 1 }

tlpUpsDeviceMainLoadControllable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the main output is controllable, and whether
        the ups can be turned off and on."
    ::= { tlpUpsDeviceEntry 2 }

tlpUpsDeviceMainLoadCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value to
        turnOff(1) will turn off the main output of the ups. Setting this
        value to turnOn(2) will turn on the main output of the ups. Setting
        this value to cycle(3) will turn off the main output, then turn it
        back on."
    ::= { tlpUpsDeviceEntry 3 }

tlpUpsDevicePowerOnDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The configurable delay value, which sets the amount of additional
        time a given device will wait before it connects to a valid AC
        source. By default the delay value is set to 0."
    ::= { tlpUpsDeviceEntry 4 }

tlpUpsDeviceTestDate OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The date of the last self-test run on the ups, in the format yyyy-mm-dd.
        The test date is not valid under certain circumstances, such as when no
        test has been performed, tlpUpsDeviceTestResultsStatus is noTest(0). The
        agent will always return ERROR_NO_SUCH_NAME when the test date is not
        valid or not supported."
    ::= { tlpUpsDeviceEntry 5 }

tlpUpsDeviceTestResultsStatus OBJECT-TYPE
    SYNTAX INTEGER {
        noTest(0),
        doneAndPassed(1),
        doneAndWarning(2),
        doneAndError(3),
        aborted(4),
        inProgress(5),
        noTestInitiatedDeprecated(6),
        badBattery(7),
        overCurrent(8),
        batteryFailed(9) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The result of the last self-test run on the ups. The noTestInitiated(6)
        result is a duplicate of noTest(0) and was deprecated in agent v20. All
        untested self tests, where supported, will return noTest(0)."
    ::= { tlpUpsDeviceEntry 6 }

tlpUpsDeviceTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the ups casing. Temperature
        measurements are not supported on all models. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsDeviceEntry 7 }

tlpUpsDeviceTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the ups casing. Temperature
        measurements are not supported on all models. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsDeviceEntry 8 }

tlpUpsDeviceLastACFailureReason OBJECT-TYPE
    SYNTAX INTEGER {
        noACFailureSinceReset(0),
        blackout(1),
        instantaneousHighLineFrequency(2),
        highLineVoltage(3),
        lowLineVoltage(4),
        averageFrequencyFault(5),
        instantaneousLowLineFrequency(6),
        delayedBrownout(7) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The last reason for ac failure."
    ::= { tlpUpsDeviceEntry 9 }

tlpUpsDeviceLastShutdownReason OBJECT-TYPE
    SYNTAX INTEGER {
        noShutdownSinceReset(0),
        onOffButtonShutdown(1),
        averageVbattSmallerThenLVCShutdown(2),
        fastVbattKeepaliveVoltageFastShutdown(3),
        averageCurrentLimitShutdown(4),
        fastCurrentLimitShutdown(5),
        heavyLoadThermalTimeLimitShutdown(6),
        fixedInvertModeTimeLimitShutdown(7),
        highBatteryVoltageFault(8),
        averageVbattKeepaliveVoltageShutdown(9),
        shutdownCommandWithAutorestartEnabled(10),
        shutdownCommandWithoutAutorestartEnabled(11),
        lineConnectRelayFault(12),
        epoInvertMode(13),
        epoRestartMode(14),
        invalidLineStandbyMode(15),
        chargerLimitMinBatteryVoltage(16),
        chargerLimitMaxBatteryVoltage(17),
        invalidLineDelayedWakeupAutorestartEnabled(18),
        invalidLineDelayedWakeupAutorestartDisabled(19),
        minBatteryVoltagePriorDelayedWakeupAutorestartEnabled(20),
        minBatteryVoltagePriorDelayedWakeupAutorestartDisabled(21),
        lvcShutdownAutorestartEnabled(22),
        lvcShutdownAutorestartDisabled(23),
        overloadShutdownAutorestartEnabled(24),
        overloadShutdownAutorestartDisabled(25),
        overTemperatureShutdownAutorestartEnabled(26),
        overTemperatureShutdownAutorestartDisabled(27),
        onOffButtonShutdownAutorestartEnabled(28),
        onOffButtonShutdownAutorestartDisabled(29),
        batteryReportedFault(30),
        batteryCommunicationLost(31),
        batteryJumpStartChargerTimeoutError(32)  }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The last reason for device shut down."
    ::= { tlpUpsDeviceEntry 10 }

tlpUpsDeviceOutputCurrentPrecision OBJECT-TYPE
    SYNTAX INTEGER {
        wholeNumber(0),
        tenths(1),
        hundredths(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output current is reported by  tlpUpsOutputLineCurrent,  tlpUpsOutputLineCurrentMin and
        tlpUpsOutputLineCurrentMax. These values are all reported in hundredths(0.01A),which
        accommodates all models;  however, on any given device the actual precision may vary. This
        value describes the actual precision, which can be used as a divisor against the output current
        values to obtain the true output current measurement. For example, if tlpUpsOutputLineCurrent reports
        530 and tlpUpsDeviceOutputCurrentPrecision is tenths(1), then the actual output current is 5.3."
    ::= { tlpUpsDeviceEntry 11 }

tlpUpsDeviceOutputActivePowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total power for all circuits. If not supported, this value will
        always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsDeviceEntry 12 }

tlpUpsDeviceAggregatePowerFactor OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The aggregate power factor of all phases. If not supported, this value will
        always return ERROR_NO_SUCH_NAME."
  ::= { tlpUpsDeviceEntry 13 }

tlpUpsDeviceGeneralFault OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the ups is in a fault condition. When the ups is in such
        a fault condition, the condition can be cleared with tlpUpsControlResetGeneralFault.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsDeviceEntry 14 }

tlpUpsDeviceUpsType OBJECT-TYPE
    SYNTAX INTEGER {
        onLine(0),
        offLine(1),
        lineInteractive(2),
        threePhase(3),
        splitPhase(4),
        others(5),
        splitPhaseOld(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of ups."
    ::= { tlpUpsDeviceEntry 15 }

tlpUpsDeviceLastBypassReason OBJECT-TYPE
    SYNTAX INTEGER {
        noBypassSinceReset(0),
        overLoad(1),
        overTemperature(2),
        dcBusAbnormal(3),
        inverterStsFailure(4),
        inverterVoltageAbnormal(5),
        fuseOpen(6),
        internalCommunicationsFailure(7),
        softStartFailure(8) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The last reason the ups went into bypass mode."
    ::= { tlpUpsDeviceEntry 16 }

tlpUpsDeviceBuzzerStatus OBJECT-TYPE
    SYNTAX INTEGER {
        silent(0),
        buzzing(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present state of the audible alarm. When buzzing(1), use
        tlpUpsControlMuteBuzzer to temporarily silence the buzzer until the
        current alarm state is cleared. Use tlpUpsConfigAudibleStatus to
        permanently disable the audible alarm from sounding when entering
        any alarm state."
    ::= { tlpUpsDeviceEntry 17 }

tlpUpsBatterySummaryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBatterySummaryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The battery system summary of each ups in the device
        table. This is a sparse dependent table, and will contain the
        number of entries based upon the number of upss managed by
        the agent as reported by tlpUpsIdentNumUps."
    ::= { tlpUpsBattery 1 }

tlpUpsBatterySummaryEntry OBJECT-TYPE
    SYNTAX TlpUpsBatterySummaryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        battery system managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsBatterySummaryTable 1 }

TlpUpsBatterySummaryEntry ::= SEQUENCE {
    tlpUpsBatteryStatus                     INTEGER,
    tlpUpsSecondsOnBattery                  Unsigned32,
    tlpUpsEstimatedMinutesRemaining         Unsigned32,
    tlpUpsEstimatedChargeRemaining          INTEGER,
    tlpUpsBatteryRunTimeRemaining           TimeTicks,
    tlpUpsBatteryTotalMinutesOnBattery      Unsigned32 }

tlpUpsBatteryStatus OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(1),
        batteryNormal(2),
        batteryLow(3),
        batteryDepleted(4) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The indication of the capacity remaining in the ups system's
        batteries. A value of batteryNormal indicates that the
        remaining run-time is greater than tlpUpsConfigLowBattTime. A
        value of batteryLow indicates that the remaining battery run-time
        is less than or equal to tlpUpsConfigLowBattTime.  A value of
        batteryDepleted indicates that the ups will be unable to sustain
        the present load when and if the utility power is lost (including
        the possibility that the utility power is currently absent and
        the ups is unable to sustain the output)."
    ::= { tlpUpsBatterySummaryEntry 1 }

tlpUpsSecondsOnBattery OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "seconds"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "If the unit is on battery power, the elapsed time since the ups
        last switched to battery power, or the time since the network
        management subsystem was last restarted, whichever is less. Zero
        shall be returned if the unit is not on battery power."
    ::= { tlpUpsBatterySummaryEntry 2 }

tlpUpsEstimatedMinutesRemaining OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "minutes"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "An estimate of the time to battery charge depletion
        under the present load conditions if the utility power
        is off and remains off, or if it were to be lost and
        remain off."
    ::= { tlpUpsBatterySummaryEntry 3 }

tlpUpsEstimatedChargeRemaining OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "An estimate of the battery charge remaining expressed
        as a percent of full charge."
    ::= { tlpUpsBatterySummaryEntry 4 }

tlpUpsBatteryRunTimeRemaining OBJECT-TYPE
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The run time remaining before batteries are exhausted. If the device
        does not support run time remaining, then the agent reports
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatterySummaryEntry 5 }

tlpUpsBatteryTotalMinutesOnBattery OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "minutes"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total accumulative minutes the ups has run on the battery."
    ::= { tlpUpsBatterySummaryEntry 6 }

tlpUpsBatteryDetailTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBatteryDetailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The battery detail of each ups in the device table. This is a sparse
        dependent table, and will contain the number of entries based upon the
        number of upss managed by the agent as reported by tlpUpsIdentNumUps."
    ::= { tlpUpsBattery 2 }

tlpUpsBatteryDetailEntry OBJECT-TYPE
    SYNTAX TlpUpsBatteryDetailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        battery system managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsBatteryDetailTable 1 }

TlpUpsBatteryDetailEntry ::= SEQUENCE {
    tlpUpsBatteryDetailVoltage              Unsigned32,
    tlpUpsBatteryDetailCurrent              Integer32,
    tlpUpsBatteryDetailCapacity             INTEGER,
    tlpUpsBatteryDetailCharge               INTEGER,
    tlpUpsBatteryDetailChargerStatus        INTEGER,
    tlpUpsBatteryDetailNominalVoltage       Unsigned32,
    tlpUpsBatteryDetailFullyCharged         TruthValue,
    tlpUpsBatteryDetailOvercharged          TruthValue,
    tlpUpsBatteryDetailVoltageNegative      Unsigned32,
    tlpUpsBatteryDetailVoltagePositive      Unsigned32,
    tlpUpsBatteryDetailMaxChargerCurrent    INTEGER
}

tlpUpsBatteryDetailVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volt DC"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present battery voltage."
    ::= { tlpUpsBatteryDetailEntry 1 }

tlpUpsBatteryDetailCurrent OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps DC"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present battery current."
    ::= { tlpUpsBatteryDetailEntry 2 }

tlpUpsBatteryDetailCapacity OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The estimated remaining battery capacity expressed as a percent of
        full capacity."
    ::= { tlpUpsBatteryDetailEntry 3 }

tlpUpsBatteryDetailCharge OBJECT-TYPE
    SYNTAX INTEGER {
        floating(0),
        charging(1),
        resting(2),
        discharging(3),
        normal(4),
        standby(5) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes the charge state of the battery."
    ::= { tlpUpsBatteryDetailEntry 4 }

tlpUpsBatteryDetailChargerStatus OBJECT-TYPE
    SYNTAX INTEGER {
        ok(0),
        inFaultCondition(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The status of the battery charger. This value may not be supported
        on all models. If not supported, this agent will return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryDetailEntry 5 }

tlpUpsBatteryDetailNominalVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the battery voltage. This value may not
        be supported on all models. If not supported, this agent will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryDetailEntry 6 }

tlpUpsBatteryDetailFullyCharged OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether the battery is fully charged. This value may not
        be supported on all models. If not supported, this agent will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryDetailEntry 7 }

tlpUpsBatteryDetailOvercharged OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether the battery is over charged. This value may not
        be supported on all models. If not supported, this agent will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryDetailEntry 8 }

tlpUpsBatteryDetailVoltageNegative OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volt DC"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present negative battery voltage."
    ::= { tlpUpsBatteryDetailEntry 9 }

tlpUpsBatteryDetailVoltagePositive OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volt DC"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present positive battery voltage."
    ::= { tlpUpsBatteryDetailEntry 10 }

tlpUpsBatteryDetailMaxChargerCurrent    OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    UNITS "Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum charging current for the battery. This value may not
        be supported on all models. If not supported, this agent will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryDetailEntry 11 }

tlpUpsBatteryPackIdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBatteryIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The battery identification details for each ups in the device
        table. This is a sparse dependent table, and will contain the
        number of entries based upon the number of upss managed by the
        agent as reported by upsIdentNumUps and the number of battery
        battery packs per each as reported by tlpUpsNumBatteryPacks."
    ::= { tlpUpsBattery 3 }

tlpUpsBatteryPackIdentEntry OBJECT-TYPE
    SYNTAX TlpUpsBatteryIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        battery pack managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsBatteryPackIdentIndex }
    ::= { tlpUpsBatteryPackIdentTable 1 }

TlpUpsBatteryIdentEntry ::= SEQUENCE {
    tlpUpsBatteryPackIdentIndex             Unsigned32,
    tlpUpsBatteryPackIdentManufacturer      DisplayString,
    tlpUpsBatteryPackIdentModel             DisplayString,
    tlpUpsBatteryPackIdentSerialNum         DisplayString,
    tlpUpsBatteryPackIdentFirmware          DisplayString,
    tlpUpsBatteryPackIdentSKU               DisplayString }

tlpUpsBatteryPackIdentIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups battery pack."
    ::= { tlpUpsBatteryPackIdentEntry 1 }

tlpUpsBatteryPackIdentManufacturer OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The manufacturer of the battery pack. If the device does not
        support this value, then the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackIdentEntry 2 }

tlpUpsBatteryPackIdentModel OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The model or device name of the battery pack. If the device does not
        support this value, then the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackIdentEntry 3 }

tlpUpsBatteryPackIdentSerialNum OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The serial number of the battery pack. If the device does not support
        this value, then the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackIdentEntry 4 }

tlpUpsBatteryPackIdentFirmware OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The firmware of the battery pack. If the device does not support this
        value, then the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackIdentEntry 5 }

tlpUpsBatteryPackIdentSKU OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The SKU of the battery pack. If the device does not support this value,
        then the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackIdentEntry 6 }

tlpUpsBatteryPackConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBatteryConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The battery configuration details for each ups in the device
        table. This is a sparse dependent table, and will contain the
        number of entries based upon the number of upss managed by the
        agent as reported by upsIdentNumUps and the number of battery
        battery packs per each as reported by tlpUpsNumBatteryPacks."
    ::= { tlpUpsBattery 4 }

tlpUpsBatteryPackConfigEntry OBJECT-TYPE
    SYNTAX TlpUpsBatteryConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        battery pack managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsBatteryPackIdentIndex }
    ::= { tlpUpsBatteryPackConfigTable 1 }

TlpUpsBatteryConfigEntry ::= SEQUENCE {
    tlpUpsBatteryPackConfigChemistry            INTEGER,
    tlpUpsBatteryPackConfigStyle                INTEGER,
    tlpUpsBatteryPackConfigLocation             INTEGER,
    tlpUpsBatteryPackConfigStrings              Unsigned32,
    tlpUpsBatteryPackConfigBatteriesPerString   Unsigned32,
    tlpUpsBatteryPackConfigCellsPerBattery      INTEGER,
    tlpUpsBatteryPackConfigNumBatteries         Unsigned32,
    tlpUpsBatteryPackConfigCapacityUnits        INTEGER,
    tlpUpsBatteryPackConfigDesignCapacity       Unsigned32,
    tlpUpsBatteryPackConfigCellCapacity         Unsigned32,
    tlpUpsBatteryPackConfigMinCellVoltage       Unsigned32,
    tlpUpsBatteryPackConfigMaxCellVoltage       Unsigned32,
    tlpUpsBatteryPackConfigRechargeable         TruthValue,
    tlpUpsBatteryPackConfigFullChargeCapacity   Unsigned32 }

tlpUpsBatteryPackConfigChemistry OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        leadAcid(1),
        nickelCadmium(2),
        lithiumIon(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of battery pack."
    ::= { tlpUpsBatteryPackConfigEntry 1 }

tlpUpsBatteryPackConfigStyle OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        nonsmart(1),
        smart(2),
        bms(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The style of battery pack."
    ::= { tlpUpsBatteryPackConfigEntry 2 }

tlpUpsBatteryPackConfigLocation OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        internal(1),
        external(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The location of the battery pack."
    ::= { tlpUpsBatteryPackConfigEntry 3 }

tlpUpsBatteryPackConfigStrings OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of series strings in parallel contained in the battery
        pack. If the device does not support this value, then the agent will
        report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 4 }

tlpUpsBatteryPackConfigBatteriesPerString OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of battery per each string in the battery pack. If the
        device does not support this value, then the agent will report
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 5 }

tlpUpsBatteryPackConfigCellsPerBattery OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of cells per battery.."
    ::= { tlpUpsBatteryPackConfigEntry 6 }

tlpUpsBatteryPackConfigNumBatteries OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of batteries contained in the battery pack. If the device
        does not support this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 7 }

tlpUpsBatteryPackConfigCapacityUnits OBJECT-TYPE
    SYNTAX INTEGER {
        mAHr(0),
        mWHr(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The units of measurement used for tlpUpsBatteryPackConfigDesignCapacity and
        tlpUpsBatteryPackConfigCellCapacity. If supported, this value will report either
        mAHR(1), amps per hour, or mWhr(1), watts per hour. If the device does not
        support this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 8 }

tlpUpsBatteryPackConfigDesignCapacity OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The theoretical or nominal capacity of a new battery pack in the measurement
        defined by tlpUpsBatteryPackConfigCapacityUnits. If the device does not support
        this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 9 }

tlpUpsBatteryPackConfigCellCapacity OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The capacity of the batteries in the measurement defined by
        tlpUpsBatteryPackConfigCapacityUnits. If the device does not support this value,
        then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 10 }

tlpUpsBatteryPackConfigMinCellVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum cell voltage for the batteries. If the device does not support
        this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 11 }

tlpUpsBatteryPackConfigMaxCellVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum cell voltage for the batteries. If the device does not support
        this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 12 }

tlpUpsBatteryPackConfigRechargeable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this battery pack is rechargeable."
    ::= { tlpUpsBatteryPackConfigEntry 13 }

tlpUpsBatteryPackConfigFullChargeCapacity OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The predicted capacity of the battery pack when fully charged in the measurement
        defined by tlpUpsBatteryPackConfigCapacityUnits. If the device does not support
        this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackConfigEntry 14 }

tlpUpsBatteryPackDetailTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBatteryPackDetailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The details of each battery pack for each ups in the device
        table. This is a sparse dependent table, and will contain the
        number of entries based upon the number of upss and battery
        packs managed by the agent as reported by tlpUpsIdentNumUps
        and tlpUpsIdentNumBatteryPacks."
    ::= { tlpUpsBattery 5 }

tlpUpsBatteryPackDetailEntry OBJECT-TYPE
    SYNTAX TlpUpsBatteryPackDetailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        battery system managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsBatteryPackIdentIndex }
    ::= { tlpUpsBatteryPackDetailTable 1 }

TlpUpsBatteryPackDetailEntry ::= SEQUENCE {
    tlpUpsBatteryPackDetailCondition            INTEGER,
    tlpUpsBatteryPackDetailTemperatureC         Unsigned32,
    tlpUpsBatteryPackDetailTemperatureF         Unsigned32,
    tlpUpsBatteryPackDetailAge                  Unsigned32,
    tlpUpsBatteryPackDetailLastReplaceDate      DisplayString,
    tlpUpsBatteryPackDetailNextReplaceDate      DisplayString,
    tlpUpsBatteryPackDetailCycleCount           Unsigned32 }

tlpUpsBatteryPackDetailCondition OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        good(1),
        weak(2),
        bad(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The condition of the battery. A bad battery should be replaced."
    ::= { tlpUpsBatteryPackDetailEntry 1 }

tlpUpsBatteryPackDetailTemperatureC OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the ups Battery casing."
    ::= { tlpUpsBatteryPackDetailEntry 2 }

tlpUpsBatteryPackDetailTemperatureF OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the ups Battery casing."
    ::= { tlpUpsBatteryPackDetailEntry 3 }

tlpUpsBatteryPackDetailAge OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Years"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The age of the battery in tenths of years. This is equal to the current
        date minus tlpUpsBatteryPackDetailLastReplaceDate."
    ::= { tlpUpsBatteryPackDetailEntry 4 }

tlpUpsBatteryPackDetailLastReplaceDate OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The date when the batteries were last replaced in yyyy-mm-dd format."
    ::= { tlpUpsBatteryPackDetailEntry 5 }

tlpUpsBatteryPackDetailNextReplaceDate OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The date when the batteries should next be replaced in yyyy-mm-dd
        format."
    ::= { tlpUpsBatteryPackDetailEntry 6 }

tlpUpsBatteryPackDetailCycleCount OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of times the battery went into invert mode. This number
        is incremented by 1 each time the unit goes on battery mode (with
        the exception of Self Test mode). If the device does not support this
        value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBatteryPackDetailEntry 7 }

tlpUpsInputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input details of each ups in the device table. This is
        a sparse dependent table, and will contain the number of entries
        based upon the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps."
    ::= { tlpUpsInput 1 }

tlpUpsInputEntry OBJECT-TYPE
    SYNTAX TlpUpsInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to all input lines per
        each ups managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsInputTable 1 }

TlpUpsInputEntry ::= SEQUENCE {
    tlpUpsInputLineBads                             INTEGER,
    tlpUpsInputNominalVoltage                       Unsigned32,
    tlpUpsInputNominalFrequency                     Unsigned32,
    tlpUpsInputLowTransferVoltage                   Unsigned32,
    tlpUpsInputLowTransferVoltageLowerBound         Unsigned32,
    tlpUpsInputLowTransferVoltageUpperBound         Unsigned32,
    tlpUpsInputHighTransferVoltage                  Unsigned32,
    tlpUpsInputHighTransferVoltageLowerBound        Unsigned32,
    tlpUpsInputHighTransferVoltageUpperBound        Unsigned32,
    tlpUpsInputCurrentTotal                         Unsigned32,
    tlpUpsInputLowTransferVoltageResetTolerance     Unsigned32,
    tlpUpsInputHighTransferVoltageResetTolerance    Unsigned32,
    tlpUpsInputTransformerStatus                    INTEGER,
    tlpUpsInputAvrTransitionCount                   Unsigned32,
    tlpUpsInputSource                               INTEGER }

tlpUpsInputLineBads OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A count of the number of times the input entered an out-of-tolerance
        condition as defined by the manufacturer.  This count is incremented
        by one each time the input transitions from zero out-of-tolerance
        lines to one or more input lines out-of-tolerance. This value is not
        supported on all units. If the ups does not support this value, then
        the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsInputEntry 1 }

tlpUpsInputNominalVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsInputEntry 2 }

tlpUpsInputNominalFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line frequency. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsInputEntry 3 }

tlpUpsInputLowTransferVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum line voltage allowed before the ups transfers to battery
        backup."
    ::= { tlpUpsInputEntry 4 }

tlpUpsInputLowTransferVoltageLowerBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The lower boundary value of tlpUpsInputLowTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpUpsInputEntry 5 }

tlpUpsInputLowTransferVoltageUpperBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upper boundary value of tlpUpsInputLowTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpUpsInputEntry 6 }

tlpUpsInputHighTransferVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum line voltage allowed before the ups system transfers to
        battery backup."
    ::= { tlpUpsInputEntry 7 }

tlpUpsInputHighTransferVoltageLowerBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The lower boundary value of tlpUpsInputHighTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpUpsInputEntry 8 }

tlpUpsInputHighTransferVoltageUpperBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upper boundary value of tlpUpsInputHighTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpUpsInputEntry 9 }

tlpUpsInputCurrentTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The aggregate total of conductor currents. If the ups does not support this value,
        then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsInputEntry 10 }

tlpUpsInputLowTransferVoltageResetTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "If a unit is transferred to battery backup due to under-voltage, the
        line voltage has to rise above this value from tlpUpsConfigLowVoltageTransfer,
        before the unit switched back to the AC input."
    ::= { tlpUpsInputEntry 11 }

tlpUpsInputHighTransferVoltageResetTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "If an input transferred to battery backup due to over-voltage, the line voltage
        on the input source has to fall below this value from tlpUpsConfigHighVoltageTransfer,
        before the unit switched back to the AC input."
    ::= { tlpUpsInputEntry 12 }

tlpUpsInputTransformerStatus OBJECT-TYPE
    SYNTAX INTEGER {
        normal(0),
        reducing(1),
        boosting(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes the status of the transformer as to whether it is presently reducing or
        boosting the input."
    ::= { tlpUpsInputEntry 13 }

tlpUpsInputAvrTransitionCount OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of times the automatic voltage regulating transformer transitions from
        a normal state to either boosting or reducing. This number is incremented by 1 each
        time a transition occurs. Use tlpUpsControlResetAvrTransitionCount to reset the count.
        If the ups does not support this value, then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpUpsInputEntry 14 }

tlpUpsInputSource OBJECT-TYPE
    SYNTAX INTEGER {
        utility(0),
        battery(1),
        other(2),
        none(3),
        testing(4) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes the current input source for the ups."
    ::= { tlpUpsInputEntry 15 }

tlpUpsInputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input phase details of each ups in the device table. This is
        a sparse dependent table, and will contain the number of entries
        based upon the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps and tlpUpsIdentNumPhases."
    ::= { tlpUpsInput 2 }

tlpUpsInputPhaseEntry OBJECT-TYPE
    SYNTAX TlpUpsInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        input phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsInputPhaseIndex }
    ::= { tlpUpsInputPhaseTable 1 }

TlpUpsInputPhaseEntry ::= SEQUENCE {
    tlpUpsInputPhaseIndex           Unsigned32,
    tlpUpsInputPhaseFrequency       Unsigned32,
    tlpUpsInputPhaseVoltage         Unsigned32,
    tlpUpsInputPhaseVoltageMin      Unsigned32,
    tlpUpsInputPhaseVoltageMax      Unsigned32,
    tlpUpsInputPhaseCurrent         Unsigned32,
    tlpUpsInputPhasePower           Unsigned32 }

tlpUpsInputPhaseIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups input phase."
    ::= { tlpUpsInputPhaseEntry 1 }

tlpUpsInputPhaseFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present input frequency for a given input line."
    ::= { tlpUpsInputPhaseEntry 2 }

tlpUpsInputPhaseVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input voltage for a given input line."
    ::= { tlpUpsInputPhaseEntry 3 }

tlpUpsInputPhaseVoltageMin OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The minimum input voltage value since the last reset of this
        value for a given input line. If any value is written to either
        tlpUpsInputPhaseVoltageMin or tlpUpsInputPhaseVoltageMax using
        agent version below 20, both will be reset to their appropriate
        minimum and maximum values. Writes are deprecated as of agent
        version 20. Use tlpUpsControlResetInputVoltageMinMax to reset
        this value."
    ::= { tlpUpsInputPhaseEntry 4 }

tlpUpsInputPhaseVoltageMax OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum input voltage value since the last reset of this
        value for a given input line. If any value is written to either
        tlpUpsInputPhaseVoltageMin or tlpUpsInputPhaseVoltageMax using
        agent version below 20, both will be reset to their appropriate
        minimum and maximum values. Writes are deprecated as of agent
        version 20. Use tlpUpsControlResetInputVoltageMinMax to reset
        this value."
    ::= { tlpUpsInputPhaseEntry 5 }

tlpUpsInputPhaseCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input current."
    ::= { tlpUpsInputPhaseEntry 6 }

tlpUpsInputPhasePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input true power."
    ::= { tlpUpsInputPhaseEntry 7 }

tlpUpsOutputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output details of each ups in the device table. This is a sparse
        dependent table, and will contain the number of entries based upon the
        number of upss managed by the agent as reported by tlpUpsIdentNumUps."
    ::= { tlpUpsOutput 1 }

tlpUpsOutputEntry OBJECT-TYPE
    SYNTAX TlpUpsOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        output line managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsOutputTable 1 }

TlpUpsOutputEntry ::= SEQUENCE {
    tlpUpsOutputSource              INTEGER,
    tlpUpsOutputNominalVoltage      Unsigned32,
    tlpUpsOutputFrequency           Unsigned32,
    tlpUpsOutputVARating            Unsigned32,
    tlpUpsOutputPowerFactor         Unsigned32,
    tlpUpsOutputTotalUtilization    INTEGER,
    tlpUpsOutputPowerRating         Unsigned32,
    tlpUpsOutputChargerCurrent      Unsigned32,
    tlpUpsOutputCurrentRating       Unsigned32,
    tlpUpsOutputEfficiency          INTEGER }

tlpUpsOutputSource OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        other(1),
        none(2),
        normal(3),
        bypass(4),
        battery(5),
        boosting(6),
        reducing(7),
        second(8),
        economy(9),
        testing(10) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present source of output power. The enumeration none(2) indicates
        that there is no source of output power (and therefore no output power),
        for example, the device has an open circuit breaker."
    ::= { tlpUpsOutputEntry 1 }

tlpUpsOutputNominalVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the output voltage. This value may not be
        supported on all models. If not supported, the agent reports
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputEntry 2 }

tlpUpsOutputFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output frequency. The output frequency on most ups
        devices is common across all output lines. Some ups devices, however,
        maintain the output frequency per each line. If a common frequency is
        supported by the ups, then this frequency will contain the common
        frequency value. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputEntry 3 }

tlpUpsOutputVARating OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The VA Rating of the ups. This value may not be
        supported on all models. If not supported, the agent reports
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputEntry 4 }

tlpUpsOutputPowerFactor OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of output power factor."
    ::= { tlpUpsOutputEntry 5 }

tlpUpsOutputTotalUtilization OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total percentage of the ups power capacity presently being
        used on the ups measured in hundredths of a percent."
    ::= { tlpUpsOutputEntry 6 }

tlpUpsOutputPowerRating OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ac output apparent power rating. This value may not be
        supported on all models. If not supported, the agent reports
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputEntry 7 }

tlpUpsOutputChargerCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The charger current. If not supported, this value will always return
        ERROR_NO_SUCH_NAME."
  ::= { tlpUpsOutputEntry 8 }

tlpUpsOutputCurrentRating OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output current rating. If not supported, this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputEntry 9 }

tlpUpsOutputEfficiency OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present measurement of efficiency of output power conversion. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputEntry 10 }

tlpUpsOutputLineTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsOutputLineEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output line details of each ups in the device table. This is
        a sparse dependent table, and will contain the number of entries
        based upon the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps."
    ::= { tlpUpsOutput 2 }

tlpUpsOutputLineEntry OBJECT-TYPE
    SYNTAX TlpUpsOutputLineEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        output line managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsOutputLineIndex }
    ::= { tlpUpsOutputLineTable 1 }

TlpUpsOutputLineEntry ::= SEQUENCE {
    tlpUpsOutputLineIndex           Unsigned32,
    tlpUpsOutputLineVoltage         Unsigned32,
    tlpUpsOutputLineCurrent         Unsigned32,
    tlpUpsOutputLineActivePower     Unsigned32,
    tlpUpsOutputLineUtilization     INTEGER,
    tlpUpsOutputLineFrequency       Unsigned32,
    tlpUpsOutputLineCurrentMin      Unsigned32,
    tlpUpsOutputLineCurrentMax      Unsigned32,
    tlpUpsOutputLineApparentPower   Unsigned32,
    tlpUpsOutputLinePowerKVA        Unsigned32,
    tlpUpsOutputLinePowerKW         Unsigned32,
    tlpUpsOutputLine24hrEnergy      Unsigned32,
    tlpUpsOutputLineWattHours       Unsigned32,
    tlpUpsOutputLinePeakPower       Unsigned32 }

tlpUpsOutputLineIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups output line."
    ::= { tlpUpsOutputLineEntry 1 }

tlpUpsOutputLineVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present output voltage for a given output line."
    ::= { tlpUpsOutputLineEntry 2 }

tlpUpsOutputLineCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output current, in hundredths of amps, for a given line. The actual
        precision of this value, whether a whole number, tenths or hundredths, is
        returned by tlpUpsDeviceOutputCurrentPrecision."
    ::= { tlpUpsOutputLineEntry 3 }

tlpUpsOutputLineActivePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output true power."
    ::= { tlpUpsOutputLineEntry 4 }

tlpUpsOutputLineUtilization OBJECT-TYPE
    SYNTAX INTEGER (0..200)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of the ups power capacity presently being used on
        this output line, i.e., the greater of the percent load of true
        power capacity and the percent load of VA."
    ::= { tlpUpsOutputLineEntry 5 }

tlpUpsOutputLineFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output frequency on this output line. The output frequency on
        most ups devices is common across all output lines. Some ups devices, however,
        maintain the output frequency per each line. If a per line frequency is
        supported by the ups, then this frequency value will reports the value of this
        line. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputLineEntry 6 }

tlpUpsOutputLineCurrentMin OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum current, in hundredths of amps, observed for a given phase
        since last reset. The actual precision of this value, whether a whole number,
        tenths or hundredths, is returned by tlpUpsDeviceOutputCurrentPrecision. Use
        tlpUpsControlResetOutputCurrentMinMax to reset this value."
    ::= { tlpUpsOutputLineEntry 7 }

tlpUpsOutputLineCurrentMax OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum current, in hundredths of amps, observed for a given phase
        since last reset. The actual precision of this value, whether a whole number,
        tenths or hundredths, is returned by tlpUpsDeviceOutputCurrentPrecision. Use
        tlpUpsControlResetOutputCurrentMinMax to reset this value."
    ::= { tlpUpsOutputLineEntry 8 }

tlpUpsOutputLineApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output apparent power."
    ::= { tlpUpsOutputLineEntry 9 }

tlpUpsOutputLinePowerKVA OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KVA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of apparent power being used."
    ::= { tlpUpsOutputLineEntry 10 }

tlpUpsOutputLinePowerKW OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KW"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of active power being used."
    ::= { tlpUpsOutputLineEntry 11 }

tlpUpsOutputLine24hrEnergy OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption using present value
        of tlpUpsOutputLinePowerKW."
    ::= { tlpUpsOutputLineEntry 12 }

tlpUpsOutputLineWattHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpUpsControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpUpsOutputLineEntry 13 }

tlpUpsOutputLinePeakPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpUpsControlResetPeakPower to reset the peak power calculations."
    ::= { tlpUpsOutputLineEntry 14 }

tlpUpsBypassTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBypassEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The bypass details of each ups in the device table. This is a sparse
        dependent table, and will contain the number of entries based upon the
        number of upss managed by the agent as reported by tlpUpsIdentNumUps."
    ::= { tlpUpsBypass 1 }

tlpUpsBypassEntry OBJECT-TYPE
    SYNTAX TlpUpsBypassEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to all input lines per
        each ups managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsBypassTable 1 }

TlpUpsBypassEntry ::= SEQUENCE {
    tlpUpsBypassFrequency           Unsigned32,
    tlpUpsBypassNominalFrequency    Unsigned32 }

tlpUpsBypassFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present bypass frequency."
    ::= { tlpUpsBypassEntry 1 }

tlpUpsBypassNominalFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the battery frequency. This value may not
        be supported on all models. If not supported, this agent will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsBypassEntry 2 }

tlpUpsBypassLineTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsBypassLineEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The bypass line details of each ups in the device table. This is
        a sparse dependent table, and will contain the number of entries
        based upon the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps."
    ::= { tlpUpsBypass 2 }

tlpUpsBypassLineEntry OBJECT-TYPE
    SYNTAX TlpUpsBypassLineEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular
        bypass line managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsBypassLineIndex }
    ::= { tlpUpsBypassLineTable 1 }

TlpUpsBypassLineEntry ::= SEQUENCE {
    tlpUpsBypassLineIndex           Unsigned32,
    tlpUpsBypassLineVoltage         Unsigned32,
    tlpUpsBypassLineCurrent         Unsigned32,
    tlpUpsBypassLinePower           Unsigned32 }

tlpUpsBypassLineIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The bypass line identifier."
    ::= { tlpUpsBypassLineEntry 1 }

tlpUpsBypassLineVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present bypass voltage."
    ::= { tlpUpsBypassLineEntry 2 }

tlpUpsBypassLineCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present bypass current."
    ::= { tlpUpsBypassLineEntry 3 }

tlpUpsBypassLinePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present true power conveyed by the bypass."
    ::= { tlpUpsBypassLineEntry 4 }

tlpUpsOutletTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsOutletEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The details of each ups outlet in the device table. This is
        a sparse dependent table, and will contain the number of entries
        based upon the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps."
    ::= { tlpUpsOutlet 1 }

tlpUpsOutletEntry OBJECT-TYPE
    SYNTAX TlpUpsOutletEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular outlet
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsOutletIndex }
    ::= { tlpUpsOutletTable 1 }

TlpUpsOutletEntry ::= SEQUENCE {
    tlpUpsOutletIndex               Unsigned32,
    tlpUpsOutletName                DisplayString,
    tlpUpsOutletDescription         DisplayString,
    tlpUpsOutletState               INTEGER,
    tlpUpsOutletControllable        TruthValue,
    tlpUpsOutletCommand             INTEGER,
    tlpUpsOutletVoltage             Unsigned32,
    tlpUpsOutletCurrent             Unsigned32,
    tlpUpsOutletActivePower         Unsigned32,
    tlpUpsOutletRampAction          INTEGER,
    tlpUpsOutletRampDelay           Integer32,
    tlpUpsOutletShedAction          INTEGER,
    tlpUpsOutletShedDelay           Integer32,
    tlpUpsOutletGroup               Integer32,
    tlpUpsOutletBank                Integer32,
    tlpUpsOutletCircuit             Integer32,
    tlpUpsOutletPhase               INTEGER,
    tlpUpsOutletReceptacleType      INTEGER,
    tlpUpsOutletPowerFactor         INTEGER,
    tlpUpsOutletApparentPower       Unsigned32,
    tlpUpsOutletReactivePower       Integer32,
    tlpUpsOutletFrequency           Unsigned32,
    tlpUpsOutletUtilization         Unsigned32,
    tlpUpsOutlet24hrEnergy          Unsigned32,
    tlpUpsOutletOvercurrent         TruthValue }

tlpUpsOutletIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups outlet."
    ::= { tlpUpsOutletEntry 1 }

tlpUpsOutletName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-definable string identifying the name of the outlet."
    ::= { tlpUpsOutletEntry 2 }

tlpUpsOutletDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-definable string identifying the device(s) connected to
        the given outlet."
    ::= { tlpUpsOutletEntry 3 }

tlpUpsOutletState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the outlet."
    ::= { tlpUpsOutletEntry 4 }

tlpUpsOutletControllable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this outlet is controllable."
    ::= { tlpUpsOutletEntry 5 }

tlpUpsOutletCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value
        to turnOff(1) will turn off the outlet. Setting this value
        to turnOn(2) will turn on the outlet. Setting this value to
        cycle(3) will turn the outlet off, then turn it back on."
    ::= { tlpUpsOutletEntry 6 }

tlpUpsOutletVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present output voltage for a given outlet.
        If the voltage measurement is not supported for an individual
        receptacle regardless whether device-wide or just for this
        receptacle, then this value will always return ERROR_NO_SUCH_NAME.
        Device-wide support for receptacle voltage measurements is denoted
        by tlpUpsSupportsOutletVoltage."
    ::= { tlpUpsOutletEntry 7 }

tlpUpsOutletCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output current, in hundredths of amps, of a given outlet.
        If the current measurement is not supported for an individual
        receptacle regardless whether device-wide or just for this
        receptacle, then this value will always return ERROR_NO_SUCH_NAME.
        Device-wide support for receptacle current measurements is denoted
        by tlpUpsSupportsCurrent."
    ::= { tlpUpsOutletEntry 8 }

tlpUpsOutletActivePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output power of a given outlet. If the power measurement is
        not supported for an individual receptacle regardless whether
        device-wide or just for this receptacle, then this value will
        always return ERROR_NO_SUCH_NAME. Device-wide support for receptacle
        power measurements is denoted by tlpUpsSupportsPower."
    ::= { tlpUpsOutletEntry 9 }

tlpUpsOutletRampAction OBJECT-TYPE
    SYNTAX INTEGER {
        remainOff(0),
        turnOnAfterDelay(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The ramp action to take on a given outlet when powering on the
        device. If this receptacle is not controllable, as denoted by
        tlpUpsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutletEntry 10 }

tlpUpsOutletRampDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of seconds to delay before powering on the given outlet.
        If this receptacle is not controllable, as denoted by
        tlpUpsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutletEntry 11 }

tlpUpsOutletShedAction OBJECT-TYPE
    SYNTAX INTEGER {
        remainOn(0),
        turnOffAfterDelay(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The shed action to take on a given outlet when powering off the
        device. If this receptacle is not controllable, as denoted by
        tlpUpsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutletEntry 12 }

tlpUpsOutletShedDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of seconds to delay before powering off the given outlet.
        If this receptacle is not controllable, as denoted by
        tlpUpsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutletEntry 13 }

tlpUpsOutletGroup OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The tlpUpsOutletGroupIndex group index of the respective group to
        which the given outlet is assigned, or zero (0) if the given
        outlet is not grouped."
    ::= { tlpUpsOutletEntry 14 }

tlpUpsOutletBank OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "This is reported as a bank number, but it is rather an internal
        number unrelated to a bank as silk-screened on many devices and is
        unrelated to and often confused with tlpUpsOutletCircuit. The value
        reported is of no commercial use and was deprecated in agent
        version 20."
    ::= { tlpUpsOutletEntry 15 }

tlpUpsOutletCircuit OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which circuit the given outlet is wired."
    ::= { tlpUpsOutletEntry 16 }

tlpUpsOutletPhase OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        phase1(1),
        phase2(2),
        phase3(3),
        phase1-2(4),
        phase2-3(5),
        phase3-1(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which phase or phases the given outlet is
        associated. For single phase devices, this object will
        always return phase1(1). For 3-phase devices with outlets
        wired to a single phase, this object will return phase1(1),
        phase2(2) or phase3(3). For 3-phase devices with outlets
        wired to two phases, this object will return phase1-2(4)
        for phases 1 and 2, phase2-3(5) for phases 2 and 3, and
        phase3-1(6) for phases 3 and 1. Devices that do not report
        phase connections will return unknown(0)."
    ::= { tlpUpsOutletEntry 17 }

tlpUpsOutletReceptacleType OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        nema-515R(1),
        nema-520R(2),
        nema-530R(3),
        nema-L515R(4),
        nema-L520R(5),
        nema-L530R(6),
        nema-L615R(7),
        nema-L620R(8),
        nema-L630R(9),
        nema-L1430R(10),
        nema-L1520R(11),
        nema-L1530R(12),
        nema-L2120R(13),
        nema-L2130R(14),
        nema-L2230R(15),
        iec-309-1620(16),
        iec-309-3032(17),
        iec-309-6063(18),
        iec-320-C13(19),
        iec-320-C14(20),
        iec-320-C15(21),
        iec-320-C17(22),
        iec-320-C19(23),
        iec-320-C20(24) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of receptacle for this outlet. Not all devices report
        receptacle types. The value will return unknown(0) when not supported."
    ::= { tlpUpsOutletEntry 18 }

tlpUpsOutletPowerFactor OBJECT-TYPE
    SYNTAX INTEGER (0..200)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The power factor for this outlet."
    ::= { tlpUpsOutletEntry 19 }

tlpUpsOutletApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The apparent power of this outlet."
    ::= { tlpUpsOutletEntry 20 }

tlpUpsOutletReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The reactive power of this outlet."
    ::= { tlpUpsOutletEntry 21 }

tlpUpsOutletFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The frequency of this outlet."
    ::= { tlpUpsOutletEntry 22 }

tlpUpsOutletUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of utilization of this outlet."
    ::= { tlpUpsOutletEntry 23 }

tlpUpsOutlet24hrEnergy OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption of this outlet."
    ::= { tlpUpsOutletEntry 24 }

tlpUpsOutletOvercurrent OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this outlet is in an overcurrent condition."
    ::= { tlpUpsOutletEntry 25 }

tlpUpsOutletGroupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsOutletGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The receptacle grouping details of each ups in device table.
        This is a sparse dependent table, and will contain the number
        of entries based upon the value of tlpUpsIdentNumOutletGroups per
        each device."
    ::= { tlpUpsOutlet 2 }

tlpUpsOutletGroupEntry OBJECT-TYPE
    SYNTAX TlpUpsOutletGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular outlet
        group managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsOutletGroupIndex }
    ::= { tlpUpsOutletGroupTable 1 }

TlpUpsOutletGroupEntry ::= SEQUENCE {
    tlpUpsOutletGroupIndex              Unsigned32,
    tlpUpsOutletGroupRowStatus	        RowStatus,
    tlpUpsOutletGroupName               DisplayString,
    tlpUpsOutletGroupDescription        DisplayString,
    tlpUpsOutletGroupState              INTEGER,
    tlpUpsOutletGroupCommand            INTEGER }

tlpUpsOutletGroupIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups outlet group."
    ::= { tlpUpsOutletGroupEntry 1 }

tlpUpsOutletGroupRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status for the tlpUpsOutletGroupTable"
    ::= { tlpUpsOutletGroupEntry 2 }

tlpUpsOutletGroupName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of this outlet group."
    ::= { tlpUpsOutletGroupEntry 3 }

tlpUpsOutletGroupDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A description for this outlet group."
    ::= { tlpUpsOutletGroupEntry 4 }

tlpUpsOutletGroupState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2),
        mixed(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the outlet group. This value will report
        off(1) if all outlets in the group are off, on(2) if all outlets
        in the group are on, mixed(3) if some outlets in the group are
        off and others are on, or unknown(0) if the state of the outlets
        cannot be determined."
    ::= { tlpUpsOutletGroupEntry 5 }

tlpUpsOutletGroupCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value to
        turnOff(1) will turn off every outlet associated with the group.
        Setting this value to turnOn(2) will turn on every outlet associated
        with the group. Setting this value to cycle(3) will turn off every
        outlet associated with the group, then turn each outlet back on."
    ::= { tlpUpsOutletGroupEntry 6 }

tlpUpsWatchdogTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsWatchdogEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The watchdog details of each ups in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are upss."
    ::= { tlpUpsWatchdog 1 }

tlpUpsWatchdogEntry OBJECT-TYPE
    SYNTAX TlpUpsWatchdogEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing watchdog details for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsWatchdogTable 1 }

TlpUpsWatchdogEntry ::= SEQUENCE {
    tlpUpsWatchdogSupported                 TruthValue,
    tlpUpsWatchdogSecsBeforeRestart         Unsigned32,
    tlpUpsWatchdogRestartAlarm              INTEGER,
    tlpUpsWatchdogStatus                    INTEGER,
    tlpUpsWatchdogRetry                     INTEGER }

tlpUpsWatchdogSupported OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not this ups supports a watchdog restart."
    ::= { tlpUpsWatchdogEntry 1 }

tlpUpsWatchdogSecsBeforeRestart OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum number of seconds that can expire between polls that
        the engine makes to the ups for data.  If this time runs out, then
        the ups will cycle its outputs.  Set this to zero to turns disable
        this feature."
    ::= { tlpUpsWatchdogEntry 2 }

tlpUpsWatchdogRestartAlarm OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether an optional alarm should sound when the Watchdog
        function is triggered and cycle the ups receptacles."
    ::= { tlpUpsWatchdogEntry 3 }

tlpUpsWatchdogStatus OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether the ups should monitor rs232 communications so as
        to cycle the ups receptacles when a loss of communications occurs."
    ::= { tlpUpsWatchdogEntry 4 }

tlpUpsWatchdogRetry OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled, the ups will automatically reset the watchdog timer when
        it times out. This automatic re-arm of the watchdog function will only
        occur up to 2 times if communications are not established before each
        restart. The result will be if watchdog is enabled and communications
        are lost, the ups will automatically reboot up to 3 times until
        communications are re-established."
    ::= { tlpUpsWatchdogEntry 5 }

tlpUpsFanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsFanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The fan details for each ups in the device table. This is a sparse
        dependent table, and will contain the number of entries based upon the
        number of upss managed by the agent as reported by tlpUpsIdentNumFans."
    ::= { tlpUpsFan 1 }

tlpUpsFanEntry  OBJECT-TYPE
    SYNTAX TlpUpsFanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular fan
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsFanIndex }
    ::= { tlpUpsFanTable 1 }

TlpUpsFanEntry ::= SEQUENCE {
    tlpUpsFanIndex                      Unsigned32,
    tlpUpsFanLocation                   INTEGER,
    tlpUpsFanStatus                     INTEGER,
    tlpUpsFanSpeed                      Unsigned32,
    tlpUpsFanActivationTemperatureDegF  Integer32,
    tlpUpsFanActivationTemperatureDegC  Integer32 }

tlpUpsFanIndex  OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups fan."
    ::= { tlpUpsFanEntry 1 }

tlpUpsFanLocation OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        internal(1),
        external(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The location of the fan."
    ::= { tlpUpsFanEntry 2 }

tlpUpsFanStatus OBJECT-TYPE
    SYNTAX INTEGER {
        off(0),
        on(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The operational status of the fan. This status is not supported on
        all models with fans. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsFanEntry 3 }

tlpUpsFanSpeed OBJECT-TYPE
    SYNTAX Unsigned32
        UNITS "RPM"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The fan speed in rotations per minute. Fan speed is not supported on
        all models with fans. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsFanEntry 4 }

tlpUpsFanActivationTemperatureDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at which point the ups will turn on the fan. This value is
        configured using tlpUpsConfigExternalFanActivationTemperatureDegF. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsFanEntry 5 }

tlpUpsFanActivationTemperatureDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at which point the ups will turn on the fan. This value is
        configured using tlpUpsConfigExternalFanActivationTemperatureDegC. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsFanEntry 6 }

tlpUpsHeatsinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsHeatsinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of ups heatsink thermistor table entries. The number of entries
        is given by the value of tlpUpsIdentNumHeatsinks."
    ::= { tlpUpsHeatsink 1 }

tlpUpsHeatsinkEntry OBJECT-TYPE
    SYNTAX TlpUpsHeatsinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular heatsink
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsHeatsinkIndex }
    ::= { tlpUpsHeatsinkTable 1 }

TlpUpsHeatsinkEntry ::= SEQUENCE {
    tlpUpsHeatsinkIndex            Unsigned32,
    tlpUpsHeatsinkTemperatureC     Integer32,
    tlpUpsHeatsinkTemperatureF     Integer32 }

tlpUpsHeatsinkIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups heatsink."
    ::= { tlpUpsHeatsinkEntry 1 }

tlpUpsHeatsinkTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at the heatsink thermistor in tenths degrees Celsius.
        Heatsink temperature measurements are not supported on all models. If
        not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsHeatsinkEntry 2 }

tlpUpsHeatsinkTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at the heatsink thermistor in tenths degrees Fahrenheit.
        Heatsink temperature measurements are not supported on all models. If
        not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsHeatsinkEntry 3 }

tlpUpsInputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsInputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input contact details of each ups in the device table. The number of entries
        is given by the value of tlpUpsIdentNumInputContacts."
    ::= { tlpUpsInputContact 1 }

tlpUpsInputContactEntry OBJECT-TYPE
    SYNTAX TlpUpsInputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing input contact details for a particular ups."
    INDEX { tlpDeviceIndex, tlpUpsInputContactIndex }
    ::= { tlpUpsInputContactTable 1 }

TlpUpsInputContactEntry ::= SEQUENCE {
    tlpUpsInputContactIndex            Unsigned32,
    tlpUpsInputContactInAlarm          INTEGER }

tlpUpsInputContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups input contact details."
    ::= { tlpUpsInputContactEntry 1 }

tlpUpsInputContactInAlarm OBJECT-TYPE
    SYNTAX INTEGER {
        notInAlarm(0),
        inAlarm(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The alarm status of the input contact. Input contacts are not supported on
        all models. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsInputContactEntry 2 }

tlpUpsOutputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output contact details of each ups in the device table. The number of entries
        is given by the value of tlpUpsIdentNumOuputContacts."
    ::= { tlpUpsOutputContact 1 }

tlpUpsOutputContactEntry OBJECT-TYPE
    SYNTAX TlpUpsOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing output contact details for a particular ups."
    INDEX { tlpDeviceIndex, tlpUpsOutputContactIndex }
    ::= { tlpUpsOutputContactTable 1 }

TlpUpsOutputContactEntry ::= SEQUENCE {
    tlpUpsOutputContactIndex            Unsigned32,
    tlpUpsOutputContactInAlarm          INTEGER }

tlpUpsOutputContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups output contact details."
    ::= { tlpUpsOutputContactEntry 1 }

tlpUpsOutputContactInAlarm OBJECT-TYPE
    SYNTAX INTEGER {
        notInAlarm(0),
        inAlarm(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The alarm status of the output contact. Output contacts are not supported on
        all models. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsOutputContactEntry 2 }

tlpUpsControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable controls for each ups in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are upss."
    ::= { tlpUpsControl 1 }

tlpUpsControlEntry OBJECT-TYPE
    SYNTAX TlpUpsControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing controls for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsControlTable 1 }

TlpUpsControlEntry ::= SEQUENCE {
    tlpUpsControlSelfTest                       TruthValue,
    tlpUpsControlRamp                           TruthValue,
    tlpUpsControlShed                           TruthValue,
    tlpUpsControlUpsOn                          TruthValue,
    tlpUpsControlUpsOff                         TruthValue,
    tlpUpsControlUpsRestart                     TruthValue,
    tlpUpsControlBypass                         INTEGER,
    tlpUpsControlResetWattHours                 TruthValue,
    tlpUpsControlCancelSelfTest                 TruthValue,
    tlpUpsControlResetAllParameters             TruthValue,
    tlpUpsControlMuteBuzzer                     TruthValue,
    tlpUpsControlResetBatteryTransitionCount    TruthValue,
    tlpUpsControlResetLastReasonForBypass       TruthValue,
    tlpUpsControlResetLastReasonStats           TruthValue,
    tlpUpsControlResetAvrTransitionCount        TruthValue,
    tlpUpsControlResetPeakPower                 TruthValue,
    tlpUpsControlClearEventLog                  TruthValue }

tlpUpsControlSelfTest OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate a self test on the ups."
    ::= { tlpUpsControlEntry 1 }

tlpUpsControlRamp OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate the pre-designated ramp
        sequence on the ups."
    ::= { tlpUpsControlEntry 2 }

tlpUpsControlShed OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate the pre-designated shed
        sequence on the ups."
    ::= { tlpUpsControlEntry 3 }

tlpUpsControlUpsOn OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the ups on."
    ::= { tlpUpsControlEntry 4 }

tlpUpsControlUpsOff OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the ups off."
    ::= { tlpUpsControlEntry 5 }

tlpUpsControlUpsRestart OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to restart the ups."
    ::= { tlpUpsControlEntry 6 }

tlpUpsControlBypass OBJECT-TYPE
    SYNTAX INTEGER {
        disable(0),
        enable(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This switches the ups in and out of bypass mode. This value returns
        the current bypass mode: disable(0) if the ups is not in bypass mode,
        enable(1) if the ups is in bypass mode. Set to disable(0) to exit
        bypass mode, or enable(1) to enter bypass mode. If switching bypass
        mode is not supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsControlEntry 7 }

tlpUpsControlResetWattHours OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the tlpUpsDeviceWattHoursTotal and
        tlpUpsOutputLineWattHours calculation algorithms."
    ::= { tlpUpsControlEntry 8 }

tlpUpsControlCancelSelfTest OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to cancel the self test in progress."
    ::= { tlpUpsControlEntry 9 }

tlpUpsControlResetAllParameters OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset all configuration settings to the default values."
    ::= { tlpUpsControlEntry 10 }

tlpUpsControlMuteBuzzer OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to temporarily mute the audible alarm. This control is only
        viable when tlpUpsConfigAudibleStatus is enabled(1) and the audible alarm is
        sounding. The audible alarm will be muted and will reset when the active
        alarm state clears. The audible alarm will sound again when the ups enters
        a new alarm state. Set tlpUpsConfigAudibleStatus to disabled(0) if permanently
        preventing the audible alarm from sounding is the desired outcome."
    ::= { tlpUpsControlEntry 11 }

tlpUpsControlResetBatteryTransitionCount OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the number of times the battery went into invert mode
        as reported by tlpUpsBatteryPackDetailCycleCount."
    ::= { tlpUpsControlEntry 12 }

tlpUpsControlResetLastReasonForBypass OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset/clear the last reason the ups went into bypass."
    ::= { tlpUpsControlEntry 13 }

tlpUpsControlResetLastReasonStats OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset/clear the last reason for ac failure and last reason
        for shutdown statistics."
    ::= { tlpUpsControlEntry 14 }

tlpUpsControlResetAvrTransitionCount OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpUpsInputAvrTransitionCount."
    ::= { tlpUpsControlEntry 15 }

tlpUpsControlResetPeakPower OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the tlpUpsOutputLinePeakPower calculation algorithm."
    ::= { tlpUpsControlEntry 16 }

tlpUpsControlClearEventLog OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to clear the event log retained by the ups."
    ::= { tlpUpsControlEntry 17 }

tlpUpsControlOutputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsControlOutputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable output phase-specific controls for each ups in device
        table. This is a sparse dependent table, and will contain some subset of
        devices that are upss."
    ::= { tlpUpsControl 2 }

tlpUpsControlOutputPhaseEntry OBJECT-TYPE
    SYNTAX TlpUpsControlOutputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular output
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsOutputLineIndex }
    ::= { tlpUpsControlOutputPhaseTable 1 }

TlpUpsControlOutputPhaseEntry ::= SEQUENCE {
    tlpUpsControlResetOutputCurrentMinMax       TruthValue }

tlpUpsControlResetOutputCurrentMinMax OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpUpsOutputLineCurrentMin and tlpUpsOutputLineCurrentMax
        to their appropriate minimum and maximum values. This value will return
        ERROR_NO_SUCH_NAME if not supported."
    ::= { tlpUpsControlOutputPhaseEntry 1 }

tlpUpsControlInputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsControlInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable input phase-specific controls for each ups in device
        table. This is a sparse dependent table, and will contain some subset of
        devices that are upss."
    ::= { tlpUpsControl 3 }

tlpUpsControlInputPhaseEntry OBJECT-TYPE
    SYNTAX TlpUpsControlInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsInputPhaseIndex }
    ::= { tlpUpsControlInputPhaseTable 1 }

TlpUpsControlInputPhaseEntry ::= SEQUENCE {
    tlpUpsControlResetInputVoltageMinMax        TruthValue }

tlpUpsControlResetInputVoltageMinMax OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpUpsInputPhaseVoltageMin and tlpUpsInputPhaseVoltageMax
        to their appropriate minimum and maximum values. Resetting the minimum and maximum
        values for one phase on some devices will reset the values for all phases. This
        value will return ERROR_NO_SUCH_NAME if not supported."
    ::= { tlpUpsControlInputPhaseEntry 1 }

tlpUpsConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration details of each ups in the device table. This is
        a sparse dependent table, and will contain the number of entries
        based upon the number of upss managed by the agent as reported by
        tlpUpsIdentNumUps."
    ::= { tlpUpsConfig 1 }

tlpUpsConfigEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to all input lines per
        each ups managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigTable 1 }

TlpUpsConfigEntry ::= SEQUENCE {
    tlpUpsConfigInputVoltage                    Unsigned32,
    tlpUpsConfigInputFrequency                  Unsigned32,
    tlpUpsConfigOutputVoltage                   Unsigned32,
    tlpUpsConfigOutputFrequency                 Unsigned32,
    tlpUpsConfigAudibleStatus                   INTEGER,
    tlpUpsConfigAutoBatteryTest                 INTEGER,
    tlpUpsConfigAutoRestartAfterShutdown        INTEGER,
    tlpUpsConfigAutoRampOnTransition            INTEGER,
    tlpUpsConfigAutoShedOnTransition            INTEGER,
    tlpUpsConfigBypassLowerLimitPercent         INTEGER,
    tlpUpsConfigBypassUpperLimitPercent         INTEGER,
    tlpUpsConfigBypassLowerLimitVoltage         Unsigned32,
    tlpUpsConfigBypassUpperLimitVoltage         Unsigned32,
    tlpUpsConfigColdStart                       INTEGER,
    tlpUpsConfigPowerStrategy                   INTEGER,
    tlpUpsConfigFaultAction                     INTEGER,
    tlpUpsConfigOffMode                         INTEGER,
    tlpUpsConfigLineSensitivity                 INTEGER,
    tlpUpsConfigLineQualifyTime                 Unsigned32,
    tlpUpsConfigACPowerSenseType                INTEGER,
    tlpUpsConfigAcPresentStartMode              INTEGER,
    tlpUpsConfigBatteryCapacityCoefficient      INTEGER,
    tlpUpsConfigBatteryTemperatureCompensation  INTEGER,
    tlpUpsConfigBatteryTimedShutdownStatus      INTEGER,
    tlpUpsConfigBatteryTimedShutdownSeconds     Unsigned32,
    tlpUpsConfigBatteryMinCapacityToRestart     INTEGER,
    tlpUpsConfigShutdownCompletionBehavior      INTEGER,
    tlpUpsConfigEmergencyPowerOff               INTEGER,
    tlpUpsConfigEnergySavingSetting             INTEGER,
    tlpUpsConfigFrequencyConvertMode            INTEGER,
    tlpUpsConfigBatteryCapacityConfiguration    INTEGER,
    tlpUpsConfigAutoBatteryTestMinutes          INTEGER,
    tlpUpsConfigMaxBatteryChargerCurrent        INTEGER }

tlpUpsConfigInputVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME. This value may not be writable on all models. If
        not writable, the value will be rejected and an appropriate error
        message will be returned."
    ::= { tlpUpsConfigEntry 1 }

tlpUpsConfigInputFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal input frequency. On those devices which support read-write
        access to this object, if there is an attempt to set this variable to a
        value that is not supported, the request must be rejected and the agent
        shall respond with an appropriate error message, i.e., badValue for
        SNMPv1, or inconsistentValue for SNMPv2."
    ::= { tlpUpsConfigEntry 2 }

tlpUpsConfigOutputVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal value of the output voltage. This value may not be
        supported on all models. If not supported, the agent reports
        ERROR_NO_SUCH_NAME. This value may not be writable on all models. If
        not writable, the value will be rejected and an appropriate error
        message will be returned."
    ::= { tlpUpsConfigEntry 3 }

tlpUpsConfigOutputFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The nominal output frequency. On those devices which support read-write
    access to this object, if there is an attempt to set this variable to a
    value that is not supported, the request will be rejected and the agent
    will respond with an appropriate error message."
    ::= { tlpUpsConfigEntry 4 }

tlpUpsConfigAudibleStatus OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(1),
        enabled(2),
        muted(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The requested state of the audible alarm. When in the disabled state,
        the audible alarm should never sound. The enabled state is self-
        describing. Setting this object to muted(3) when the audible alarm is
        sounding shall temporarily silence the alarm. It will remain muted until
        it would normally stop sounding and the value returned for read operations
        during this period shall equal muted(3). At the end of this period, the
        value shall revert to enabled(2). Writes of the value muted(3) when the
        audible alarm is not sounding shall be accepted but otherwise shall have no
        effect."
    ::= { tlpUpsConfigEntry 5 }

tlpUpsConfigAutoBatteryTest OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        daily(1),
        weekly(2),
        biweekly(3),
        monthly(4),
        quarterly(5),
        semiannually(6) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When disabled(0), the ups will not perform an automatic battery selftest.
        When set to another value, the ups will perform an automatic selftest in
        the approximate period defined by each respective enumerated value. This
        feature is generally not recommended."
    ::= { tlpUpsConfigEntry 6 }

tlpUpsConfigAutoRestartAfterShutdown OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled(1), the ups should autorestart after a shutdown from battery
        mode if valid AC is applied. When disabled(0), the ups should not autorestart
        when AC is restored and instead power up into standby mode."
    ::= { tlpUpsConfigEntry 7 }

tlpUpsConfigAutoRampOnTransition OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled(1), the ups should perform its preconfigured ramp sequence when
        valid AC is restored while in battery mode. If this value is not supported by
        the ups, then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 8 }

tlpUpsConfigAutoShedOnTransition OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled(1), the ups should perform its preconfigured shed sequence when
        valid AC is lost causing the ups to enter battery mode. If this value is not
        supported by the ups, then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 9 }

tlpUpsConfigBypassLowerLimitPercent OBJECT-TYPE
    SYNTAX INTEGER (-20..-5)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The lowest AC input voltage allowed to be output to the load while in bypass
        mode. This setting is expressed as a percentage from nominal voltage. If this
        value is not supported by the ups, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 10 }

tlpUpsConfigBypassUpperLimitPercent OBJECT-TYPE
    SYNTAX INTEGER (5..20)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The highest AC input voltage allowed to be output to the load while in bypass
        mode. This setting is expressed as a percentage from nominal voltage. If this
        value is not supported by the ups, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 11 }

tlpUpsConfigBypassLowerLimitVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The lowest AC input voltage allowed to be output to the load while in bypass
        mode. If this value is not supported by the ups, then this value will always
        return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 12 }

tlpUpsConfigBypassUpperLimitVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The highest AC input voltage allowed to be output to the load while in bypass
        mode. If this value is not supported by the ups, then this value will always
        return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 13 }

tlpUpsConfigColdStart OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option enables or disables the ability to turn the ups on without AC
        supplied. If this value is not supported by the ups, then this value will
        always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 14 }

tlpUpsConfigPowerStrategy OBJECT-TYPE
    SYNTAX INTEGER {
        maximumQuality(0),
        maximumEfficiency(1),
        constant50Hz(2),
        constant60Hz(3),
        constantAuto(4),
        autoAdaptive(5) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The configurable economic mode options for the ups. The online(0) mode is
        the default configuration of most upss, which is synonymous as having the
        economic mode disabled. The maximumEfficiency(1) mode is the typical configuration
        to run in economy mode, which is synonymous as having the economic mode enabled.
        Constant50Hz(2) is a power strategy, which fixes the output frequency at 50Hz.
        Constant60Hz(3) is a power strategy, which fixes the output frequency at 60Hz.
        ConstantAuto(4) regulates the output frequency at nominal input frequency.
        AutoAdaptive(5) mode will cause the ups to automatically switch between
        online(0), maximum quality, and maximumEfficiency(1), maximum efficiency, to improve
        efficiency during stable utility periods and improve output regulation during
        unstable utility periods. Not all values are supported by all upss. Most upss,
        if supportive of economic mode, only supports online(0) and maximumEfficiency(1).
        If the ups does not support economic mode, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 15 }

tlpUpsConfigFaultAction OBJECT-TYPE
    SYNTAX INTEGER {
        bypass(0),
        standby(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines the action to take if the output needs to be shut down due to a
        fault condition, limited by the type of fault incurred. When configured for
        bypass(0), the ups will go to bypass on a fault condition. When configured
        for standby(1), the ups will go to standby mode on a fault condition. Either
        configuration will be valid as long as AC input is within normal line voltage
        and frequency limits when the fault condition occurs. If the line is outside
        these limits, the ups will turn off. If this value is not supported by the ups,
        then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 16 }

tlpUpsConfigOffMode OBJECT-TYPE
    SYNTAX INTEGER {
        standby(0),
        bypass(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option governs what mode the ups should go into when AC input is
        available, but the load is either off or not battery backed up. If this
        setting is configured for bypass(1), the intention is that any time the ups
        would normally go into standby mode, it would instead go into bypass mode. Note
        that this setting does not dictate the mode for fault conditions, which is
        governed by tlpUpsConfigFaultAction. If this value is not supported by the ups,
        then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 17 }

tlpUpsConfigLineSensitivity OBJECT-TYPE
    SYNTAX INTEGER {
        normal(0),
        reduced(1),
        fullyReduced(2) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Adjusts the AC line voltage sensitivity setting. If this value is not supported
        by the ups, then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 18 }

tlpUpsConfigLineQualifyTime OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The amount of time the ups monitors line power quality for stability before ac power
        is restored. If there is an attempt to set this variable to a
        value that is not supported, the request will be rejected and the agent
        will respond with an appropriate error message."
    ::= { tlpUpsConfigEntry 19 }

tlpUpsConfigACPowerSenseType OBJECT-TYPE
    SYNTAX INTEGER {
        generator(1),
        ups(2) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option enables configuration of ups AC power sensing to maximize ups
        operation for standard line power AC and generator power applications.
        If this value is not supported by the ups, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 20 }

tlpUpsConfigAcPresentStartMode OBJECT-TYPE
    SYNTAX INTEGER {
        alwaysOff(0),
        alwaysTurnOn(1),
        lastState(2) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures how the ups will turn on when ac is present. alwaysOff will cause the
        ups to NEVER autostart regardless of how it was shut down or the state of
        tlpUpsConfigAutoRestartInverterShutdown. alwaysOn will cause the ups to ALWAYS
        autostart regardless of how it was shut down or the state of
        tlpUpsConfigAutoRestartInverterShutdown. lastState will cause the ups to autostart
        based on the method used last subject to tlpUpsConfigAutoRestartInverterShutdown. The
        agent will always return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 21 }

tlpUpsConfigBatteryCapacityCoefficient OBJECT-TYPE
    SYNTAX INTEGER (5..20)
    UNITS "0.1"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Used to adjust the battery capacity as the battery ages."
    ::= { tlpUpsConfigEntry 22 }

tlpUpsConfigBatteryTemperatureCompensation OBJECT-TYPE
    SYNTAX INTEGER {
        twoAndOneHalf(5),
        three(6),
        threeAndOneHalf(7),
        four(8) }
    UNITS "mV"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option reduces related float voltages during high temperature conditions. If
        this value is not supported by the ups, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigEntry 23 }

tlpUpsConfigBatteryTimedShutdownStatus OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables the ups device shutdown after tlpUpsConfigBatteryTimedShutdownSeconds seconds.
        This shutdown occurs by the ups itself rather than by the LX card when installed. Whenever
        enabled, tlpUpsConfigBatteryTimedShutdownSeconds will always revert to zero(0). The agent
        will always return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 24 }

tlpUpsConfigBatteryTimedShutdownSeconds OBJECT-TYPE
    SYNTAX Unsigned32 (15..65534)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables the ups device shutdown after the specified number of seconds. Whenever set,
        tlpUpsConfigBatteryTimedShutdownStatus will always become enabled. The agent will always
        return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 25 }

tlpUpsConfigBatteryMinCapacityToRestart OBJECT-TYPE
    SYNTAX INTEGER (0..90)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Restart the ups with ac returns and tlpUpsConfigAutoRestartAfterShutdown is enabled, if
        the battery capacity is more than the percentage (%) specified. The agent will always
        return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 26 }

tlpUpsConfigShutdownCompletionBehavior OBJECT-TYPE
    SYNTAX INTEGER {
        complete(0),
        cancel(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures whether the ups should reboot the output if ac returns before a delay before
        shutdown expires. The agent will always return ERROR_NO_SUCH_NAME when this feature is not
        supported by the ups."
    ::= { tlpUpsConfigEntry 27 }

tlpUpsConfigEmergencyPowerOff OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures emergency power off (epo) functionality via the communications port."
    ::= { tlpUpsConfigEntry 28 }

tlpUpsConfigEnergySavingSetting OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the ups to shut down if the load level is less than the percent indicated after
        five minutes in invert mode. A value less than five percent disables this feature whereas any
        value five percent or greater enables this feature. The agent will always return
        ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 29 }

tlpUpsConfigFrequencyConvertMode OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the frequency convert mode for the ups. The agent will always return
        ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 30 }

tlpUpsConfigBatteryCapacityConfiguration OBJECT-TYPE
    SYNTAX INTEGER (7..100)
    UNITS "AH"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the ups battery capacity. Depending on the ups, not all values in the range apply.
         The agent will always return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 31 }

tlpUpsConfigAutoBatteryTestMinutes OBJECT-TYPE
    SYNTAX INTEGER (1..255)
    UNITS "minutes"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the number of minutes a ups battery will be tested when a test occurs. The agent will
         always return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 32 }

tlpUpsConfigMaxBatteryChargerCurrent OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    UNITS "Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the maximum charging current for ups battery. The agent will
         always return ERROR_NO_SUCH_NAME when this feature is not supported by the ups."
    ::= { tlpUpsConfigEntry 33 }

tlpUpsConfigAutoRestartTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigAutoRestartEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configurable automatic restart options of each ups in device table.
        This is a sparse dependent table, and will contain some subset of devices
        that are upss. Not all options are available on all upss."
    ::= { tlpUpsConfig 2 }

tlpUpsConfigAutoRestartEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigAutoRestartEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configurable automatic restart options for a particular
        ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigAutoRestartTable 1 }

TlpUpsConfigAutoRestartEntry ::= SEQUENCE {
    tlpUpsConfigAutoRestartInverterShutdown     INTEGER,
    tlpUpsConfigAutoRestartDelayedWakeup        INTEGER,
    tlpUpsConfigAutoRestartLowVoltageCutoff     INTEGER,
    tlpUpsConfigAutoRestartOverLoad             INTEGER,
    tlpUpsConfigAutoRestartOverTemperature      INTEGER }

tlpUpsConfigAutoRestartInverterShutdown OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled(1) and the ups is turned off from invert mode (via user
        interaction), if line becomes valid, the ups will automatically go to line
        mode. If disabled(0), the ups will turn back on and go to standby mode
        instead."
    ::= { tlpUpsConfigAutoRestartEntry 1 }

tlpUpsConfigAutoRestartDelayedWakeup OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled(1) and power fails during a DelayBeforeStartup and line remains
        invalid after the timeout expires, the ups will be set to turn back on
        automatically. If disabled(0), the ups will turn back on and go to standby
        mode instead."
    ::= { tlpUpsConfigAutoRestartEntry 2 }

tlpUpsConfigAutoRestartLowVoltageCutoff OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled(1) and the ups is turned off from invert mode (via low voltage
        cutoff), if line becomes valid, the ups will automatically go to line mode.
        If disabled(0), the ups will turn back on and go to standby mode instead."
    ::= { tlpUpsConfigAutoRestartEntry 3 }

tlpUpsConfigAutoRestartOverLoad OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled(1) and the ups is turned off from invert mode (via overload), if
        line becomes valid, the ups will automatically go to line mode. If disabled(0),
        the ups will turn back on and go to standby mode instead."
    ::= { tlpUpsConfigAutoRestartEntry 4 }

tlpUpsConfigAutoRestartOverTemperature OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled(1) and the ups is turned off from invert mode (via over temperature),
        if line becomes valid, the ups will automatically go to line mode. If disabled(0),
        the ups will turn back on and go to standby mode instead."
    ::= { tlpUpsConfigAutoRestartEntry 5 }

tlpUpsConfigThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configurable threshold options of each ups in device table. This
        is a sparse dependent table, and will contain some subset of devices that
        are upss. Not all options are available on all upss."
    ::= { tlpUpsConfig 3 }

tlpUpsConfigThresholdEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configurable threshold options for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigThresholdTable 1 }

TlpUpsConfigThresholdEntry ::= SEQUENCE {
    tlpUpsConfigBatteryAgeThreshold                 Unsigned32,
    tlpUpsConfigLowBatteryThreshold                 INTEGER,
    tlpUpsConfigLowBatteryTime                      Unsigned32,
    tlpUpsConfigOverLoadThreshold                   INTEGER,
    tlpUpsConfigLowBatteryCriticalThreshold         INTEGER,
    tlpUpsConfigBatteryAgeWarningThreshold          INTEGER,
    tlpUpsConfigBatteryAgeCriticalThreshold         INTEGER,
    tlpUpsConfigLowBatteryRuntimeWarningThreshold   Unsigned32,
    tlpUpsConfigLowBatteryRuntimeCriticalThreshold  Unsigned32 }

tlpUpsConfigBatteryAgeThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "months"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The number of months for a battery to be in service. The battery age alarm,
        tlpUpsAlarmBatteryAgeAboveThreshold, is triggered when the current date
        exceeds tlpUpsBatteryPackDetailLastReplaceDate by tlpUpsConfigBatteryAgeThreshold
        months. This value was deprecated as of agent v2 and has become read-only. It
        is superseded by tlpUpsConfigBatteryAgeWarningThreshold and expected to become
        obsolete and not supported in a future release. All usages of this oid should be
        modified to use tlpUpsConfigBatteryAgeWarningThreshold instead."
    ::= { tlpUpsConfigThresholdEntry 1 }

tlpUpsConfigLowBatteryThreshold OBJECT-TYPE
    SYNTAX INTEGER (11..90)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value denotes the percentage of battery capacity remaining warning
        level. The low battery alarm, tlpUpsAlarmLowBattery, is triggered when
        tlpUpsEstimatedChargeRemaining drops below this value. This value must be
        greater than tlpUpsConfigLowBatteryCriticalThreshold."
    ::= { tlpUpsConfigThresholdEntry 2 }

tlpUpsConfigLowBatteryTime OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The value in seconds of tlpUpsEstimatedMinutesRemaining at which a lowBattery
        condition is declared. For agents which support only discrete (discontinuous)
        values, then the agent shall round up to the next supported value. If the
        requested value is larger than the largest supported value, then the largest
        supported value shall be selected. This oid was deprecated in agent v20 and
        superceded by tlpUpsConfigLowBatteryRuntimeWarningThreshold."
    ::= { tlpUpsConfigThresholdEntry 3 }

tlpUpsConfigOverLoadThreshold OBJECT-TYPE
    SYNTAX INTEGER (5..105)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value denotes the percentage of load at which the overload condition
        occurs. The overload alarm, tlpUpsAlarmOutputOverload, is triggered when the
        percentage of output load exceeds this value. This value must be greater than
        tlpUpsConfigOutputUtilizationWarningThreshold."
    ::= { tlpUpsConfigThresholdEntry 4 }

tlpUpsConfigLowBatteryCriticalThreshold OBJECT-TYPE
    SYNTAX INTEGER (10..89)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value denotes the percentage of battery capacity remaining critical
        level. This value must be less than tlpUpsConfigLowBatteryThreshold."
    ::= { tlpUpsConfigThresholdEntry 5 }

tlpUpsConfigBatteryAgeWarningThreshold OBJECT-TYPE
    SYNTAX INTEGER (0..50)
    UNITS "0.1 years"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of years for a battery to be in service, represented in tenths of years. The
        battery age alarm, tlpUpsAlarmBatteryAgeAboveThreshold, is triggered when the current date
        exceeds tlpUpsBatteryPackDetailLastReplaceDate by tlpUpsConfigBatteryAgeWarningThreshold
        years. This value must be less than tlpUpsConfigBatteryAgeCriticalThreshold."
    ::= { tlpUpsConfigThresholdEntry 6 }

tlpUpsConfigBatteryAgeCriticalThreshold OBJECT-TYPE
    SYNTAX INTEGER (0..50)
    UNITS "0.1 years"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of years for a battery in service to be deemed critical, represented in tenths
        of years. This value must be greater than tlpUpsConfigBatteryAgeWarningThreshold."
    ::= { tlpUpsConfigThresholdEntry 7 }

tlpUpsConfigLowBatteryRuntimeWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "minutes"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value in minutes of tlpUpsEstimatedMinutesRemaining at which a lowBattery
        condition is declared. For agents which support only discrete (discontinuous)
        values, then the agent shall round up to the next supported value. If the
        requested value is larger than the largest supported value, then the largest
        supported value shall be selected."
    ::= { tlpUpsConfigThresholdEntry 8 }

tlpUpsConfigLowBatteryRuntimeCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "minutes"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value in minutes of tlpUpsEstimatedMinutesRemaining at which a critical
        lowBattery condition is declared. For agents which support only discrete
        (discontinuous) values, then the agent shall round up to the next supported
        value. If the requested value is larger than the largest supported value, then
        the largest supported value shall be selected."
    ::= { tlpUpsConfigThresholdEntry 9 }

tlpUpsConfigVoltageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigVoltageEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The voltage configuration details for each ups in device table. This
        is a sparse dependent table, and will contain some subset of devices
        that are upss. Not all options are available on all upss."
    ::= { tlpUpsConfig 4 }

tlpUpsConfigVoltageEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigVoltageEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing voltage configuration options for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigVoltageTable 1 }

TlpUpsConfigVoltageEntry ::= SEQUENCE {
    tlpUpsConfigHighVoltageTransfer                 Unsigned32,
    tlpUpsConfigHighVoltageResetTolerance           Unsigned32,
    tlpUpsConfigHighVoltageReset                    Unsigned32,
    tlpUpsConfigLowVoltageTransfer                  Unsigned32,
    tlpUpsConfigLowVoltageResetTolerance            Unsigned32,
    tlpUpsConfigLowVoltageReset                     Unsigned32 }

tlpUpsConfigHighVoltageTransfer OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum line voltage allowed on the input source before the unit
        disconnects the AC input connection."
    ::= { tlpUpsConfigVoltageEntry 1 }

tlpUpsConfigHighVoltageResetTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If an input connection is disconnected due to over-voltage, the line voltage on the input source
        has to fall below tlpUpsConfigHighVoltageTransfer less tlpUpsConfigHighVoltageTransferResetTolerance
        before the unit reconnects the AC input to input source."
    ::= { tlpUpsConfigVoltageEntry 2 }

tlpUpsConfigHighVoltageReset OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If an input connection is disconnected due to over-voltage, the line voltage on the input source
        has to fall below tlpUpsConfigHighVoltageReset before the unit reconnects the AC input to input source."
    ::= { tlpUpsConfigVoltageEntry 3 }

tlpUpsConfigLowVoltageTransfer OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The minimum line voltage allowed before the unit disconnects the AC input
        connection."
    ::= { tlpUpsConfigVoltageEntry 4 }

tlpUpsConfigLowVoltageResetTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If a unit is disconnected due to under-voltage or is not powered up yet, the line voltage
        has to rise above tlpUpsConfigLowVoltageTransfer plus tlpUpsConfigLowVoltageTransferResetTolerance
        before the unit reconnect the AC input to input source."
    ::= { tlpUpsConfigVoltageEntry 5 }

tlpUpsConfigLowVoltageReset OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If a unit is disconnected due to under-voltage or is not powered up yet, the line voltage
        has to rise above tlpUpsConfigLowVoltageReset before the unit reconnect the AC input to input source."
    ::= { tlpUpsConfigVoltageEntry 6 }

tlpUpsConfigContact OBJECT IDENTIFIER::= { tlpUpsConfig 5 }

tlpUpsConfigContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each ups in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are upss. Not all options are available on all
        upss."
    ::= {  tlpUpsConfigContact  1 }

tlpUpsConfigContactEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing contact configuration options for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigContactTable 1 }

TlpUpsConfigContactEntry ::= SEQUENCE {
    tlpUpsConfigOutputContactBackupTimer    Unsigned32 }

tlpUpsConfigOutputContactBackupTimer OBJECT-TYPE
    SYNTAX Unsigned32 (0..480)
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "This is the amount of runtime the ups supports in battery mode before sending
        a configured output contact notification.  Output contacts are not supported on all
        models. If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigContactEntry 1 }

tlpUpsConfigInputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigInputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input contact details of each ups in device table. the number of entries is
        given by tlpUpsIdentNumInputContacts. This is a sparse dependent table, and will
        contain some subset of devices that are upss. Not all options are available on all
        upss."
    ::= { tlpUpsConfigContact  2 }

tlpUpsConfigInputContactEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigInputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing input contact details for a particular ups."
    INDEX { tlpDeviceIndex, tlpUpsConfigInputContactIndex }
    ::= { tlpUpsConfigInputContactTable 1 }

TlpUpsConfigInputContactEntry ::= SEQUENCE {
    tlpUpsConfigInputContactIndex            Unsigned32,
    tlpUpsConfigInputContactSetup            INTEGER }

tlpUpsConfigInputContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups input contact details."
    ::= { tlpUpsConfigInputContactEntry 1 }

tlpUpsConfigInputContactSetup  OBJECT-TYPE
    SYNTAX INTEGER {
        userDefined(0),
        externalAlarm(1),
        externalBatteryAlarm(2),
        externalFanFailed(3),
        doorUnlock(4)}
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Input contact configuration options. Input contacts are not supported on
        all models. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigInputContactEntry 2 }

tlpUpsConfigOutputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output contact details of each ups in device table. The number of entries is
        given by tlpUpsIdentNumOutputContacts. This is a sparse dependent table, and
        will contain some subset of devices that are upss. Not all options are available
        on all upss."
    ::= {  tlpUpsConfigContact  3 }

tlpUpsConfigOutputContactEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing output contact details for a particular ups."
    INDEX { tlpDeviceIndex, tlpUpsConfigOutputContactIndex }
    ::= { tlpUpsConfigOutputContactTable 1 }

TlpUpsConfigOutputContactEntry ::= SEQUENCE {
    tlpUpsConfigOutputContactIndex            Unsigned32,
    tlpUpsConfigOutputContactSetup            INTEGER }

tlpUpsConfigOutputContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ups output contact details."
    ::= { tlpUpsConfigOutputContactEntry 1 }

tlpUpsConfigOutputContactSetup OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        onBattery(1),
        batteryLow(2),
        timer(3),
        alarm(4),
        fault(5),
        outputOff(6) }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Output contact configuration options. Output contacts are not supported on
        all models. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigOutputContactEntry 2 }

tlpUpsConfigDb9 OBJECT IDENTIFIER::= { tlpUpsConfig 6 }

tlpUpsConfigDb9InputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigDb9InputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each ups in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are upss. Not all options are available on all
        upss."
    ::= {  tlpUpsConfigDb9  1 }

tlpUpsConfigDb9InputEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigDb9InputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing contact configuration options for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigDb9InputTable 1 }

TlpUpsConfigDb9InputEntry ::= SEQUENCE {
    tlpUpsConfigDb9InputPins3and9      INTEGER }

tlpUpsConfigDb9InputPins3and9 OBJECT-TYPE
    SYNTAX INTEGER {
        shutdown(0),
        outputOff(1),
        reboot(2),
        outputOn(3),
        powerToggle(4) }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "When the ups detects a short between pin 3 and 9 for a certain amount of time, the
        ups will perform the action as specified. If not supported, this value returned is
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigDb9InputEntry 1 }

tlpUpsConfigDb9OutputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigDb9OutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each ups in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are upss. Not all options are available on all
        upss."
    ::= {  tlpUpsConfigDb9  2 }

tlpUpsConfigDb9OutputEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigDb9OutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing contact configuration options for a particular ups."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigDb9OutputTable 1 }

TlpUpsConfigDb9OutputEntry ::= SEQUENCE {
    tlpUpsConfigDb9OutputPins1and5    INTEGER,
    tlpUpsConfigDb9OutputPins8and5	  INTEGER}

tlpUpsConfigDb9OutputPins1and5 OBJECT-TYPE
    SYNTAX INTEGER {
        onBattery(0),
        onBypass(1),
        outputOn(2),
        lowBattery(3),
        summaryAlarm(4) }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "When the selected option is met, the ups will send a signal by bridging
        pins 1 and 5 on the db9 port. If not supported, this value returned is
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigDb9OutputEntry 1 }

tlpUpsConfigDb9OutputPins8and5 OBJECT-TYPE
    SYNTAX INTEGER {
        onBattery(0),
        onBypass(1),
        outputOn(2),
        lowBattery(3),
        summaryAlarm(4) }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "When the selected option is met, the ups will send a signal by bridging
        pins 8 and 5 on the db9 port. If not supported, this value returned is
        ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigDb9OutputEntry 2 }

tlpUpsConfigOutputPhaseThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigOutputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output phase configuration details for each ups in device table.
        This is a sparse dependent table, and will contain the number of
        entries based on the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps and tlpUpsIdentNumPhases. Not all options are
        available on all upss."
    ::= { tlpUpsConfig 7 }

tlpUpsConfigOutputPhaseThresholdEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigOutputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular output
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsOutputLineIndex }
    ::= { tlpUpsConfigOutputPhaseThresholdTable 1 }

TlpUpsConfigOutputPhaseThresholdEntry ::= SEQUENCE {
    tlpUpsConfigOutputCurrentThresholdTolerance         Unsigned32,
    tlpUpsConfigOutputCurrentHighThreshold              Unsigned32,
    tlpUpsConfigOutputCurrentLowThreshold               Unsigned32,
    tlpUpsConfigOutputVoltageThresholdTolerance         Unsigned32,
    tlpUpsConfigOutputVoltageHighCriticalThreshold      Unsigned32,
    tlpUpsConfigOutputVoltageHighWarningThreshold       Unsigned32,
    tlpUpsConfigOutputVoltageLowWarningThreshold        Unsigned32,
    tlpUpsConfigOutputVoltageLowCriticalThreshold       Unsigned32,
    tlpUpsConfigOutputUtilizationThresholdTolerance     Unsigned32,
    tlpUpsConfigOutputUtilizationWarningThreshold       INTEGER }

tlpUpsConfigOutputCurrentThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output current high/low
        threshold to evaluate output current high/low condition."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 1 }

tlpUpsConfigOutputCurrentHighThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which an output current high condition is declared."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 2 }

tlpUpsConfigOutputCurrentLowThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which an output current low condition is declared."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 3 }

tlpUpsConfigOutputVoltageThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output voltage high/low
        threshold to evaluate output voltage high/low condition."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 4 }

tlpUpsConfigOutputVoltageHighCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage high critical condition is declared."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 5 }

tlpUpsConfigOutputVoltageHighWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage high warning condition is declared."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 6 }

tlpUpsConfigOutputVoltageLowWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage low warning condition is declared."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 7 }

tlpUpsConfigOutputVoltageLowCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage low critical condition is declared."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 8 }

tlpUpsConfigOutputUtilizationThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The  tolerance value used together with tlpUpsConfigOutputUtilizationWarningThreshold
        to evaluate tlpUpsAlarmLoadLevelAboveThreshold condition."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 9 }

tlpUpsConfigOutputUtilizationWarningThreshold OBJECT-TYPE
    SYNTAX INTEGER (5..105)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value denotes the percentage of load at which the load warning condition
        occurs. The load warning alarm, tlpUpsAlarmLoadLevelAboveThreshold, is
        triggered when the percentage of output load exceeds this value. This threshold value
        must be less than tlpUpsConfigOverLoadThreshold when supported."
    ::= { tlpUpsConfigOutputPhaseThresholdEntry 10 }

-- reserved
-- tlpUpsConfigOutputUtilizationCriticalThreshold OBJECT-TYPE
--    ::= { tlpUpsConfigOutputPhaseThresholdEntry 11 }

tlpUpsConfigInputPhaseThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigInputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input phase configuration details for each ups in device table.
        This is a sparse dependent table, and will contain the number of
        entries based on the number of upss managed by the agent as reported
        by tlpUpsIdentNumUps and tlpUpsIdentNumPhases. Not all options are
        available on all upss."
    ::= { tlpUpsConfig 8 }

tlpUpsConfigInputPhaseThresholdEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigInputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpUpsInputPhaseIndex }
    ::= { tlpUpsConfigInputPhaseThresholdTable 1 }

TlpUpsConfigInputPhaseThresholdEntry ::= SEQUENCE {
    tlpUpsConfigInputVoltageThresholdTolerance      Unsigned32,
    tlpUpsConfigInputVoltageHighCriticalThreshold   Unsigned32,
    tlpUpsConfigInputVoltageHighWarningThreshold    Unsigned32,
    tlpUpsConfigInputVoltageLowWarningThreshold     Unsigned32,
    tlpUpsConfigInputVoltageLowCriticalThreshold    Unsigned32 }

tlpUpsConfigInputVoltageThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output voltage high/low
        threshold to evaluate output voltage high/low condition."
    ::= { tlpUpsConfigInputPhaseThresholdEntry 1 }

tlpUpsConfigInputVoltageHighCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage high critical condition is declared."
    ::= { tlpUpsConfigInputPhaseThresholdEntry 2 }

tlpUpsConfigInputVoltageHighWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage high warning condition is declared."
    ::= { tlpUpsConfigInputPhaseThresholdEntry 3 }

tlpUpsConfigInputVoltageLowWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage low warning condition is declared."
    ::= { tlpUpsConfigInputPhaseThresholdEntry 4 }

tlpUpsConfigInputVoltageLowCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage low critical condition is declared."
    ::= { tlpUpsConfigInputPhaseThresholdEntry 5 }

tlpUpsConfigTemperatureFahrenheitTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigTemperatureFahrenheitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The temperature configuration details for each ups device in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are ups device. Not all options are available on all
        ups devices."
    ::= {  tlpUpsConfig 9 }

tlpUpsConfigTemperatureFahrenheitEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigTemperatureFahrenheitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing temperature configuration details for a particular ups device."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigTemperatureFahrenheitTable 1 }

TlpUpsConfigTemperatureFahrenheitEntry ::= SEQUENCE {
    tlpUpsConfigExternalFanActivationTemperatureDegF                  Integer32 }

tlpUpsConfigExternalFanActivationTemperatureDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the temperature at which point the ups will turn on the external fan.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigTemperatureFahrenheitEntry 1 }

tlpUpsConfigTemperatureCelsiusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpUpsConfigTemperatureCelsiusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration details for each each ups device in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are ups device. Not all options are available on all
        ups devices."
    ::= {  tlpUpsConfig 10 }

tlpUpsConfigTemperatureCelsiusEntry OBJECT-TYPE
    SYNTAX TlpUpsConfigTemperatureCelsiusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing temperature configuration details for a particular ups device."
    INDEX { tlpDeviceIndex }
    ::= { tlpUpsConfigTemperatureCelsiusTable 1 }

TlpUpsConfigTemperatureCelsiusEntry ::= SEQUENCE {
    tlpUpsConfigExternalFanActivationTemperatureDegC                  Integer32 }

tlpUpsConfigExternalFanActivationTemperatureDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the temperature at which point the ups will turn on the external fan.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpUpsConfigTemperatureCelsiusEntry 1 }

-- pdu

tlpPduIdentNumPdu OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of pdu devices that this agent is currently managing."
    ::= { tlpPduIdent 1 }

tlpPduIdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The identity details of each pdu in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are pdus."
    ::= { tlpPduIdent 2 }

tlpPduIdentEntry OBJECT-TYPE
    SYNTAX TlpPduIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing details for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduIdentTable 1 }

TlpPduIdentEntry ::= SEQUENCE {
    tlpPduIdentNumInputs                Unsigned32,
    tlpPduIdentNumOutputs               Unsigned32,
    tlpPduIdentNumPhases                Unsigned32,
    tlpPduIdentNumOutlets               Unsigned32,
    tlpPduIdentNumOutletGroups          Unsigned32,
    tlpPduIdentNumCircuits              Unsigned32,
    tlpPduIdentNumBreakers              Unsigned32,
    tlpPduIdentNumHeatsinks             Unsigned32 }

tlpPduIdentNumInputs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of input lines supported by the pdu."
    ::= { tlpPduIdentEntry 1 }

tlpPduIdentNumOutputs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of output lines supported by the pdu."
    ::= { tlpPduIdentEntry 2 }

tlpPduIdentNumPhases OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of phases supported by the pdu."
    ::= { tlpPduIdentEntry 3 }

tlpPduIdentNumOutlets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of receptacles supported by the pdu."
    ::= { tlpPduIdentEntry 4 }

tlpPduIdentNumOutletGroups OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of user-defined receptacle groups created for the
        pdu."
    ::= { tlpPduIdentEntry 5 }

tlpPduIdentNumCircuits OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of circuits supported by the pdu."
    ::= { tlpPduIdentEntry 6 }

tlpPduIdentNumBreakers OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of monitored circuit breakers supported by the pdu.
        If the pdu has breakers that are not monitored by the device,
        the value of zero(0) will be returned."
    ::= { tlpPduIdentEntry 7 }

tlpPduIdentNumHeatsinks OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of heatsink thermistors supported by the pdu."
    ::= { tlpPduIdentEntry 8 }

tlpPduSupportsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduSupportsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The supported details of each pdu in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are pdus."
    ::= { tlpPduIdent 3 }

tlpPduSupportsEntry OBJECT-TYPE
    SYNTAX TlpPduSupportsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing supported details for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduSupportsTable 1 }

TlpPduSupportsEntry ::= SEQUENCE {
    tlpPduSupportsEnergywise            TruthValue,
    tlpPduSupportsRampShed              TruthValue,
    tlpPduSupportsOutletGroup           TruthValue,
    tlpPduSupportsOutletCurrent         TruthValue,
    tlpPduSupportsOutletVoltage         TruthValue,
    tlpPduSupportsOutletActivePower     TruthValue }

tlpPduSupportsEnergywise OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the pdu supports Cisco EnergyWise."
    ::= { tlpPduSupportsEntry 1 }

tlpPduSupportsRampShed OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the pdu supports ramping and shedding."
    ::= { tlpPduSupportsEntry 2 }

tlpPduSupportsOutletGroup OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the pdu supports outlet groups."
    ::= { tlpPduSupportsEntry 3 }

tlpPduSupportsOutletCurrent OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the pdu reports individual receptacle
        current measurements. Devices that do not support individual
        receptacle measurements will always return ERROR_NO_SUCH_NAME for
        tlpPduOutletCurrent."
    ::= { tlpPduSupportsEntry 4 }

tlpPduSupportsOutletVoltage OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the pdu reports individual receptacle voltage
        measurements. Devices that do not support individual receptacle
        measurements will always return ERROR_NO_SUCH_NAME for
        tlpPduOutletVoltage."
    ::= { tlpPduSupportsEntry 5 }

tlpPduSupportsOutletActivePower OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the pdu reports individual receptacle power
        measurements. Devices that do not support individual
        receptacle measurements will always return ERROR_NO_SUCH_NAME for
        tlpPduOutletActivePower."
    ::= { tlpPduSupportsEntry 6 }

tlpPduDisplayTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduDisplayEntry
    MAX-ACCESS not-accessible
    STATUS deprecated
    DESCRIPTION
        "The display details of each pdu in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are pdus."
    ::= { tlpPduIdent 4 }

tlpPduDisplayEntry OBJECT-TYPE
    SYNTAX TlpPduDisplayEntry
    MAX-ACCESS not-accessible
    STATUS deprecated
    DESCRIPTION
        "An entry containing display details for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduDisplayTable 1 }

TlpPduDisplayEntry ::= SEQUENCE {
    tlpPduDisplayScheme             INTEGER,
    tlpPduDisplayOrientation        INTEGER,
    tlpPduDisplayAutoScroll         INTEGER,
    tlpPduDisplayIntensity          INTEGER,
    tlpPduDisplayUnits              INTEGER }

tlpPduDisplayScheme OBJECT-TYPE
    SYNTAX INTEGER {
        schemeReverse(0),
        schemeNormal(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the display scheme of the LED display. The value
        schemeReverse(0) indicates the tricolor LED indicator uses an
        alternate pattern. The value schemeNormal(1) indicates the
        LED indicator uses the standard pattern. This value may not
        be supported on all models. If not supported, the value will
        always return schemeNormal(1)."
    ::= { tlpPduDisplayEntry 1 }

tlpPduDisplayOrientation OBJECT-TYPE
    SYNTAX INTEGER {
        displayNormal(0),
        displayReverse(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the physical orientation of the LED display. The value
        displayNormal(0) indicates the display is right-side-up (normal).
        The value displayReverse(1) indicates the display is upside-down.
        This value may not be supported on all models. If not supported,
        the value will always return displayNormal(0)."
    ::= { tlpPduDisplayEntry 2 }

tlpPduDisplayAutoScroll OBJECT-TYPE
    SYNTAX INTEGER {
        scrollDisabled(0),
        scrollEnabled(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the LED display automatically scrolls through
        displaying status values."
    ::= { tlpPduDisplayEntry 3 }

tlpPduDisplayIntensity OBJECT-TYPE
    SYNTAX INTEGER {
        intensity25(1),
        intensity50(2),
        intensity75(3),
        intensity100(4) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the intensity, as a percentage, of the LED display. The
        value intensity100(4) indicates the display is at 100% intensity.
        The other values indicate the display is at a lesser intensity based
        upon the respective percentage denoted."
    ::= { tlpPduDisplayEntry 4 }

tlpPduDisplayUnits OBJECT-TYPE
    SYNTAX INTEGER {
        normal(0),
        metric(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the units of measurement displayed on the LED display.
        The value normal(0) indicates that a temperature value, for example,
        is displayed in degrees Fahrenheit. The value metric(1) indicates a
        temperature value is displayed in degrees Celsius."
    ::= { tlpPduDisplayEntry 5 }

tlpPduDeviceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The device details of each pdu in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are pdus."
    ::= { tlpPduDevice 1 }

tlpPduDeviceEntry OBJECT-TYPE
    SYNTAX TlpPduDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing device details for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduDeviceTable 1 }

TlpPduDeviceEntry ::= SEQUENCE {
    tlpPduDeviceMainLoadState               INTEGER,
    tlpPduDeviceMainLoadControllable        TruthValue,
    tlpPduDeviceMainLoadCommand             INTEGER,
    tlpPduDevicePowerOnDelay                Integer32,
    tlpPduDeviceTotalInputPowerRating       Integer32,
    tlpPduDeviceTemperatureC                Integer32,
    tlpPduDeviceTemperatureF                Integer32,
    tlpPduDevicePhaseImbalance              INTEGER,
    tlpPduDeviceOutputActivePowerTotal      Unsigned32,
    tlpPduDeviceAggregatePowerFactor        Unsigned32,
    tlpPduDeviceOutputCurrentPrecision      INTEGER,
    tlpPduDeviceGeneralFault                TruthValue,
    tlpPduDeviceTotalOutputUtilization      INTEGER,
    tlpPduDeviceOutputApparentPowerTotal    Unsigned32,
    tlpPduDeviceOutputReactivePowerTotal    Integer32,
    tlpPduDeviceOutputCurrentTotal          Unsigned32,
    tlpPduDeviceWattHoursTotal              Unsigned32,
    tlpPduDevicePeakPowerTotal              Unsigned32,
    tlpPduDevice24hrEnergyTotal             Unsigned32 }

tlpPduDeviceMainLoadState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the main output of the device."
    ::= { tlpPduDeviceEntry 1 }

tlpPduDeviceMainLoadControllable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the main output is controllable, and whether
        the ups can be turned off and on."
    ::= { tlpPduDeviceEntry 2 }

tlpPduDeviceMainLoadCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value to
        turnOff(1) will turn off the main output of the ups. Setting this
        value to turnOn(2) will turn on the main output of the ups. Setting
        this value to cycle(3) will turn off the main output, then turn it
        back on."
    ::= { tlpPduDeviceEntry 3 }

tlpPduDevicePowerOnDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The configurable delay value, which sets the amount of additional
        time a given device will wait before it connects to a valid AC
        source. By default the delay value is set to 0. For devices with
        multiple AC input sources, this delay only applies to the primary
        input source."
    ::= { tlpPduDeviceEntry 4 }

tlpPduDeviceTotalInputPowerRating OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total input power rating of all phases on the device. This
        value may not be supported on all models. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduDeviceEntry 5 }

tlpPduDeviceTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the pdu casing. Temperature
        measurements are not supported on all models. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduDeviceEntry 6 }

tlpPduDeviceTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the pdu casing. Temperature
        measurements are not supported on all models. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduDeviceEntry 7 }

tlpPduDevicePhaseImbalance OBJECT-TYPE
    SYNTAX INTEGER (0..200)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of imbalance of the three phases. This value is in
        the range from 0% imbalance to 100% imbalance. The lower the value,
        the better balanced the phases are. If all load is on a single phase,
        the imbalance is defined as 100%."
    ::= { tlpPduDeviceEntry 8 }

tlpPduDeviceOutputActivePowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total true power for all circuits."
    ::= { tlpPduDeviceEntry 9 }

tlpPduDeviceAggregatePowerFactor OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The aggregate power factor of all phases."
    ::= { tlpPduDeviceEntry 10 }

tlpPduDeviceOutputCurrentPrecision OBJECT-TYPE
    SYNTAX INTEGER {
        wholeNumber(0),
        tenths(1),
        hundredths(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output current is reported by tlpPduOutputCurrent, tlpPduOutputCurrentMin
        and tlpPduOutputCurrentMax. These values are all reported in hundredths(0.01A),
        which accommodates all models; however, on any given device the actual precision
        may vary. All current values must be divided by 100 to obtain the actual value.
        For example, if tlpPduOutputCurrent reports 500, then the actual output current
        is 5.00. This tlpPduDeviceOutputCurrentPrecision defines the actual resolution
        of that value: wholeNumber(0) is 5, tenths(1) is 5.0 and hundredths(2) is 5.00."
    ::= { tlpPduDeviceEntry 11 }

tlpPduDeviceGeneralFault OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the pdu is in a fault condition. When the pdu is in such
        a fault condition, the condition can be cleared with tlpPduControlResetGeneralFault."
    ::= { tlpPduDeviceEntry 12 }

tlpPduDeviceTotalOutputUtilization OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total percentage of the pdu power capacity presently being used on the pdu.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduDeviceEntry 13 }

tlpPduDeviceOutputApparentPowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total apparent power for all circuits. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduDeviceEntry 14 }

tlpPduDeviceOutputReactivePowerTotal OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total reactive power for all circuits. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduDeviceEntry 15 }

tlpPduDeviceOutputCurrentTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total output current, in hundredths of amps.The actual precision of
        this value, whether a whole number, tenths or hundredths, is returned
        by tlpPduDeviceOutputCurrentPrecision."
    ::= { tlpPduDeviceEntry 16 }

tlpPduDeviceWattHoursTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpPduControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpPduDeviceEntry 17 }

tlpPduDevicePeakPowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpPduControlResetPeakPower to reset the peak power calculations."
    ::= { tlpPduDeviceEntry 18 }

tlpPduDevice24hrEnergyTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption using present value
        of tlpPduOutputPowerKW."
    ::= { tlpPduDeviceEntry 19 }

tlpPduInputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input details of each pdu in device table. This is a sparse
        dependent table, and will contain the number of entries based upon
        the number of pdus managed by the agent as reported by tlpPduIdentNumPdus."
    ::= { tlpPduInput 1 }

tlpPduInputEntry OBJECT-TYPE
    SYNTAX TlpPduInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular pdu managed
        by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduInputTable 1 }

TlpPduInputEntry ::= SEQUENCE {
    tlpPduInputNominalVoltage                   Unsigned32,
    tlpPduInputNominalVoltagePhaseToPhase       Unsigned32,
    tlpPduInputNominalVoltagePhaseToNeutral     Unsigned32,
    tlpPduInputLowTransferVoltage               Unsigned32,
    tlpPduInputLowTransferVoltageLowerBound     Unsigned32,
    tlpPduInputLowTransferVoltageUpperBound     Unsigned32,
    tlpPduInputHighTransferVoltage              Unsigned32,
    tlpPduInputHighTransferVoltageLowerBound    Unsigned32,
    tlpPduInputHighTransferVoltageUpperBound    Unsigned32,
    tlpPduInputCurrentLimit                     Unsigned32,
    tlpPduInputCurrentTotal                     Unsigned32 }

tlpPduInputNominalVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpPduInputEntry 1 }

tlpPduInputNominalVoltagePhaseToPhase OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage as measured from
        phase to phase. This value may not be supported on all models.
        If not supported, this value will always return zero."
    ::= { tlpPduInputEntry 2 }

tlpPduInputNominalVoltagePhaseToNeutral OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage as measured from
        phase to neutral. This value may not be supported on all models.
        If not supported, this value will always return zero."
    ::= { tlpPduInputEntry 3 }

tlpPduInputLowTransferVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum line voltage allowed before the unit disconnects the
        AC input connection. This value may not be writable on all models.
        If not writable, the value will be rejected and an appropriate error
        message will be returned. When supported, the minimum and maximum
        values allowed are dictated by tlpPduInputLowTransferVoltageLowerBound
        and tlpPduInputLowTransferVoltageUpperBound respectively."
    ::= { tlpPduInputEntry 4 }

tlpPduInputLowTransferVoltageLowerBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The lower boundary value of tlpPduInputLowTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpPduInputEntry 5 }

tlpPduInputLowTransferVoltageUpperBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upper boundary value of tlpPduInputLowTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpPduInputEntry 6 }

tlpPduInputHighTransferVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum line voltage allowed before the unit disconnects the
        AC input connection. This value may not be writable on all models.
        If not writable, the value will be rejected and an appropriate error
        message will be returned. When supported, the minimum and maximum
        values allowed are dictated by tlpPduInputHighTransferVoltageLowerBound
        and tlpPduInputHighTransferVoltageUpperBound respectively."
    ::= { tlpPduInputEntry 7 }

tlpPduInputHighTransferVoltageLowerBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The lower boundary value of tlpPduInputHighTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpPduInputEntry 8 }

tlpPduInputHighTransferVoltageUpperBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upper boundary value of tlpPduInputHighTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpPduInputEntry 9 }

tlpPduInputCurrentLimit OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The capacity of each phase conductor in the pdu limited by the AC input
        cord or any other potential limiting factors unique to a given unit."
    ::= { tlpPduInputEntry 10 }

tlpPduInputCurrentTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The aggregate total of conductor currents. If the pdu does not support this value,
        then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpPduInputEntry 11 }

tlpPduInputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input phase details of each pdu in device table. This is a sparse
        dependent table, and will contain the number of entries based upon
        the value of tlpPduIdentNumInputs and tlpPduIdentNumPhases per each
        device."
    ::= { tlpPduInput 2 }

tlpPduInputPhaseEntry OBJECT-TYPE
    SYNTAX TlpPduInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduInputPhaseIndex }
    ::= { tlpPduInputPhaseTable 1 }

TlpPduInputPhaseEntry ::= SEQUENCE {
    tlpPduInputPhaseIndex           Unsigned32,
    tlpPduInputPhasePhaseType       INTEGER,
    tlpPduInputPhaseFrequency       Unsigned32,
    tlpPduInputPhaseVoltage         Unsigned32,
    tlpPduInputPhaseVoltageMin      Unsigned32,
    tlpPduInputPhaseVoltageMax      Unsigned32,
    tlpPduInputPhaseCurrent         Unsigned32,
    tlpPduInputPhasePower           Unsigned32,
    tlpPduInputPhaseThdVoltage      Unsigned32 }

tlpPduInputPhaseIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu phase."
    ::= { tlpPduInputPhaseEntry 1 }

tlpPduInputPhasePhaseType OBJECT-TYPE
    SYNTAX INTEGER {
        phaseToNeutral(0),
        phaseToPhase(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether measurements are phase to neutral(0) or phase
        to phase(1)."
    ::= { tlpPduInputPhaseEntry 2 }

tlpPduInputPhaseFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present input frequency for a given phase."
    ::= { tlpPduInputPhaseEntry 3 }

tlpPduInputPhaseVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input voltage for a given phase."
    ::= { tlpPduInputPhaseEntry 4 }

tlpPduInputPhaseVoltageMin OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The minimum input voltage value since the last reset of this
        value for a given input line. If any value is written to either
        tlpPduInputPhaseVoltageMin or tlpPduInputPhaseVoltageMax using
        agent version below 20, both will be reset to their appropriate
        minimum and maximum values. Writes are deprecated as of agent
        version 20. Use tlpPduControlResetInputVoltageMinMax to reset
        this value."
    ::= { tlpPduInputPhaseEntry 5 }

tlpPduInputPhaseVoltageMax OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum input voltage value since the last reset of this
        value for a given input line. If any value is written to either
        tlpPduInputPhaseVoltageMin or tlpPduInputPhaseVoltageMax using
        agent version below 20, both will be reset to their appropriate
        minimum and maximum values. Writes are deprecated as of agent
        version 20. Use tlpPduControlResetInputVoltageMinMax to reset
        this value."
    ::= { tlpPduInputPhaseEntry 6 }

tlpPduInputPhaseCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input current for a given phase."
    ::= { tlpPduInputPhaseEntry 7 }

tlpPduInputPhasePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input true power."
    ::= { tlpPduInputPhaseEntry 8 }

tlpPduInputPhaseThdVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The voltage thd (total harmonic distortion) for this phase in hundredths
        of a percent."
    ::= { tlpPduInputPhaseEntry 9 }

tlpPduOutputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output details of each pdu in device table. This is a sparse
        dependent table, and will contain the number of entries based upon
        the value of tlpPduIdentNumOutputs per each device."
    ::= { tlpPduOutput 1 }

tlpPduOutputEntry OBJECT-TYPE
    SYNTAX TlpPduOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing output information applicable to a particular
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduOutputIndex }
    ::= { tlpPduOutputTable 1 }

TlpPduOutputEntry ::= SEQUENCE {
    tlpPduOutputIndex               Unsigned32,
    tlpPduOutputPhase               INTEGER,
    tlpPduOutputPhaseType           INTEGER,
    tlpPduOutputVoltage             Unsigned32,
    tlpPduOutputCurrent             Unsigned32,
    tlpPduOutputCurrentMin          Unsigned32,
    tlpPduOutputCurrentMax          Unsigned32,
    tlpPduOutputActivePower         Unsigned32,
    tlpPduOutputPowerFactor         INTEGER,
    tlpPduOutputSource              INTEGER,
    tlpPduOutputFrequency           Unsigned32,
    tlpPduOutputPowerKVA            Unsigned32,
    tlpPduOutputPowerKW             Unsigned32,
    tlpPduOutput24hrEnergy          Unsigned32,
    tlpPduOutputApparentPower       Unsigned32,
    tlpPduOutputReactivePower       Integer32,
    tlpPduOutputUtilization         Unsigned32,
    tlpPduOutputWattHours           Unsigned32,
    tlpPduOutputPeakPower           Unsigned32 }

tlpPduOutputIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu phase."
    ::= { tlpPduOutputEntry 1 }

tlpPduOutputPhase OBJECT-TYPE
    SYNTAX INTEGER {
        phase1(1),
        phase2(2),
        phase3(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates the phase associated with the output line."
    ::= { tlpPduOutputEntry 2 }

tlpPduOutputPhaseType OBJECT-TYPE
    SYNTAX INTEGER {
        phaseToNeutral(0),
        phaseToPhase(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether measurements are phase to neutral(0) or phase
        to phase(1)."
    ::= { tlpPduOutputEntry 3 }

tlpPduOutputVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present output voltage for a given output line."
    ::= { tlpPduOutputEntry 4 }

tlpPduOutputCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output current, in hundredths of amps, for a given phase.
        The actual precision of this value, whether a whole number, tenths
        or hundredths, is returned by tlpPduDeviceOutputCurrentPrecision."
    ::= { tlpPduOutputEntry 5 }

tlpPduOutputCurrentMin OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum current, in hundredths of amps, observed for a given phase
        since last reset. The actual precision of this value, whether a whole number,
        tenths or hundredths, is returned by tlpPduDeviceOutputCurrentPrecision. Use
        tlpPduControlResetOutputCurrentMinMax to reset this value."
    ::= { tlpPduOutputEntry 6 }

tlpPduOutputCurrentMax OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum current, in hundredths of amps, observed for a given phase
        since last reset. The actual precision of this value, whether a whole number,
        tenths or hundredths, is returned by tlpPduDeviceOutputCurrentPrecision. Use
        tlpPduControlResetOutputCurrentMinMax to reset this value."
    ::= { tlpPduOutputEntry 7 }

tlpPduOutputActivePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output power for a given phase."
    ::= { tlpPduOutputEntry 8 }

tlpPduOutputPowerFactor OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output power factor ratio for a given phase."
    ::= { tlpPduOutputEntry 9 }

tlpPduOutputSource OBJECT-TYPE
    SYNTAX INTEGER {
        none(0),
        normal(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present source of output power. The enumeration none(0) indicates
        that there is no source of output power (and therefore no output power),
        for example, the pdu has an open circuit breaker."
    ::= { tlpPduOutputEntry 10 }

tlpPduOutputFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output frequency. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpPduOutputEntry 11 }

tlpPduOutputPowerKVA OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KVA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of active power being used."
    ::= { tlpPduOutputEntry 12 }

tlpPduOutputPowerKW OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KW"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of active power being used."
    ::= { tlpPduOutputEntry 13 }

tlpPduOutput24hrEnergy OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption using present value
        of tlpPduOutputPowerKW."
    ::= { tlpPduOutputEntry 14 }

tlpPduOutputApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of apparent power being used."
    ::= { tlpPduOutputEntry 15 }

tlpPduOutputReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of reactive power being used."
    ::= { tlpPduOutputEntry 16 }

tlpPduOutputUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of the ats power capacity presently being used on
        this output line."
    ::= { tlpPduOutputEntry 17 }

tlpPduOutputWattHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpPduControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpPduOutputEntry 18 }

tlpPduOutputPeakPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpPduControlResetPeakPower to reset the peak power calculations."
    ::= { tlpPduOutputEntry 19 }

tlpPduOutletTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduOutletEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The receptacle status details of each pdu in device table. This
        is a sparse dependent table, and will contain the number of entries
        based upon the value of tlpPduIdentNumOutlets per each device."
    ::= { tlpPduOutlet 1 }

tlpPduOutletEntry OBJECT-TYPE
    SYNTAX TlpPduOutletEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular outlet
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduOutletIndex }
    ::= { tlpPduOutletTable 1 }

TlpPduOutletEntry ::= SEQUENCE {
    tlpPduOutletIndex                   Unsigned32,
    tlpPduOutletName                    DisplayString,
    tlpPduOutletDescription             DisplayString,
    tlpPduOutletState                   INTEGER,
    tlpPduOutletControllable            TruthValue,
    tlpPduOutletCommand                 INTEGER,
    tlpPduOutletVoltage                 Unsigned32,
    tlpPduOutletCurrent                 Unsigned32,
    tlpPduOutletActivePower             Unsigned32,
    tlpPduOutletRampAction              INTEGER,
    tlpPduOutletRampDelay               Integer32,
    tlpPduOutletShedAction              INTEGER,
    tlpPduOutletShedDelay               Integer32,
    tlpPduOutletGroup                   Integer32,
    tlpPduOutletBank                    Integer32,
    tlpPduOutletCircuit                 Integer32,
    tlpPduOutletPhase                   INTEGER,
    tlpPduOutletReceptacleType          INTEGER,
    tlpPduOutletPowerFactor             INTEGER,
    tlpPduOutletApparentPower           Unsigned32,
    tlpPduOutletReactivePower           Integer32,
    tlpPduOutletFrequency               Unsigned32,
    tlpPduOutletUtilization             Unsigned32,
    tlpPduOutlet24hrEnergy              Unsigned32,
    tlpPduOutletOvercurrent             TruthValue }

tlpPduOutletIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu outlet."
    ::= { tlpPduOutletEntry 1 }

tlpPduOutletName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-definable string identifying the name of the outlet."
    ::= { tlpPduOutletEntry 2 }

tlpPduOutletDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-definable string identifying the device(s) connected to
        the given outlet."
    ::= { tlpPduOutletEntry 3 }

tlpPduOutletState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the outlet."
    ::= { tlpPduOutletEntry 4 }

tlpPduOutletControllable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this outlet is controllable."
    ::= { tlpPduOutletEntry 5 }

tlpPduOutletCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value
        to turnOff(1) will turn off the outlet. Setting this value
        to turnOn(2) will turn on the outlet. Setting this value to
        cycle(3) will turn the outlet off, then turn it back on."
    ::= { tlpPduOutletEntry 6 }

tlpPduOutletVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present output voltage for a given outlet.
        If the voltage measurement is not supported for an individual
        receptacle regardless whether device-wide or just for this
        receptacle, then this value will always return ERROR_NO_SUCH_NAME.
        Device-wide support for receptacle voltage measurements is denoted
        by tlpPduSupportsOutletVoltage."
    ::= { tlpPduOutletEntry 7 }

tlpPduOutletCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output current, in hundredths of amps, of a given outlet.
        If the current measurement is not supported for an individual
        receptacle regardless whether device-wide or just for this
        receptacle, then this value will always return ERROR_NO_SUCH_NAME.
        Device-wide support for receptacle current measurements is denoted
        by tlpPduSupportsOutletCurrent."
    ::= { tlpPduOutletEntry 8 }

tlpPduOutletActivePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output active power of a given outlet. If the power measurement
        is not supported for an individual receptacle regardless whether
        device-wide or just for this receptacle, then this value will
        always return ERROR_NO_SUCH_NAME. Device-wide support for receptacle
        power measurements is denoted by tlpPduSupportsOutletActivePower."
    ::= { tlpPduOutletEntry 9 }

tlpPduOutletRampAction OBJECT-TYPE
    SYNTAX INTEGER {
        remainOff(0),
        turnOnAfterDelay(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The ramp action to take on a given outlet when powering on the
        device. If this receptacle is not controllable, as denoted by
        tlpPduOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpPduOutletEntry 10 }

tlpPduOutletRampDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of seconds to delay before powering on the given outlet.
        If this receptacle is not controllable, as denoted by
        tlpPduOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpPduOutletEntry 11 }

tlpPduOutletShedAction OBJECT-TYPE
    SYNTAX INTEGER {
        remainOn(0),
        turnOffAfterDelay(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The shed action to take on a given outlet when powering off the
        device. If this receptacle is not controllable, as denoted by
        tlpPduOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpPduOutletEntry 12 }

tlpPduOutletShedDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of seconds to delay before powering off the given outlet.
        If this receptacle is not controllable, as denoted by
        tlpPduOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpPduOutletEntry 13 }

tlpPduOutletGroup OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The tlpPduOutletGroupIndex group index of the respective group to
        which the given outlet is assigned, or zero (0) if the given
        outlet is not grouped."
    ::= { tlpPduOutletEntry 14 }

tlpPduOutletBank OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "This is reported as a bank number, but it is rather an internal
        number unrelated to a bank as silk-screened on many devices and is
        unrelated to and often confused with tlpPduOutletCircuit. The value
        reported is of no commercial use and was deprecated in agent
        version 20."
    ::= { tlpPduOutletEntry 15 }

tlpPduOutletCircuit OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which circuit the given outlet is wired."
    ::= { tlpPduOutletEntry 16 }

tlpPduOutletPhase OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        phase1(1),
        phase2(2),
        phase3(3),
        phase1-2(4),
        phase2-3(5),
        phase3-1(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which phase or phases the given outlet is
        associated. For single phase devices, this object will
        always return phase1(1). For 3-phase devices with outlets
        wired to a single phase, this object will return phase1(1),
        phase2(2) or phase3(3). For 3-phase devices with outlets
        wired to two phases, this object will return phase1-2(4)
        for phases 1 and 2, phase2-3(5) for phases 2 and 3, and
        phase3-1(6) for phases 3 and 1. Devices that do not report
        phase connections will return unknown(0)."
    ::= { tlpPduOutletEntry 17 }

tlpPduOutletReceptacleType OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        nema-515R(1),
        nema-520R(2),
        nema-530R(3),
        nema-L515R(4),
        nema-L520R(5),
        nema-L530R(6),
        nema-L615R(7),
        nema-L620R(8),
        nema-L630R(9),
        nema-L1430R(10),
        nema-L1520R(11),
        nema-L1530R(12),
        nema-L2120R(13),
        nema-L2130R(14),
        nema-L2230R(15),
        iec-309-1620(16),
        iec-309-3032(17),
        iec-309-6063(18),
        iec-320-C13(19),
        iec-320-C14(20),
        iec-320-C15(21),
        iec-320-C17(22),
        iec-320-C19(23),
        iec-320-C20(24) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of receptacle for this outlet. Not all devices report
        receptacle types. The value will return unknown(0) when not supported."
    ::= { tlpPduOutletEntry 18 }

tlpPduOutletPowerFactor OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The power factor ratio for this outlet."
    ::= { tlpPduOutletEntry 19 }

tlpPduOutletApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The apparent power of this outlet."
    ::= { tlpPduOutletEntry 20 }

tlpPduOutletReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The reactive power of this outlet."
    ::= { tlpPduOutletEntry 21 }

tlpPduOutletFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The frequency of this outlet."
    ::= { tlpPduOutletEntry 22 }

tlpPduOutletUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of utilization of this outlet."
    ::= { tlpPduOutletEntry 23 }

tlpPduOutlet24hrEnergy OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption of this outlet."
    ::= { tlpPduOutletEntry 24 }

tlpPduOutletOvercurrent OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this outlet is in an overcurrent condition."
    ::= { tlpPduOutletEntry 25 }

tlpPduOutletGroupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduOutletGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The receptacle grouping details of each pdu in device table.
        This is a sparse dependent table, and will contain the number
        of entries based upon the value of tlpPduIdentNumOutletGroups per
        each device."
    ::= { tlpPduOutlet 2 }

tlpPduOutletGroupEntry OBJECT-TYPE
    SYNTAX TlpPduOutletGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular outlet
        group managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduOutletGroupIndex }
    ::= { tlpPduOutletGroupTable 1 }

TlpPduOutletGroupEntry ::= SEQUENCE {
    tlpPduOutletGroupIndex              Unsigned32,
    tlpPduOutletGroupRowStatus	        RowStatus,
    tlpPduOutletGroupName               DisplayString,
    tlpPduOutletGroupDescription        DisplayString,
    tlpPduOutletGroupState              INTEGER,
    tlpPduOutletGroupCommand            INTEGER }

tlpPduOutletGroupIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu outlet group."
    ::= { tlpPduOutletGroupEntry 1 }

tlpPduOutletGroupRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status for the tlpPduOutletGroupTable"
    ::= { tlpPduOutletGroupEntry 2 }

tlpPduOutletGroupName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of this outlet group."
    ::= { tlpPduOutletGroupEntry 3 }

tlpPduOutletGroupDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A description for this outlet group."
    ::= { tlpPduOutletGroupEntry 4 }

tlpPduOutletGroupState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2),
        mixed(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the outlet group. This value will report
        off(1) if all outlets in the group are off, on(2) if all outlets
        in the group are on, mixed(3) if some outlets in the group are
        off and others are on, or unknown(0) if the state of the outlets
        cannot be determined."
    ::= { tlpPduOutletGroupEntry 5 }

tlpPduOutletGroupCommand OBJECT-TYPE
    SYNTAX INTEGER {
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value to
        turnOff(1) will turn off every outlet associated with the group.
        Setting this value to turnOn(2) will turn on every outlet associated
        with the group. Setting this value to cycle(3) will turn off every
        outlet associated with the group, then turn each outlet back on."
    ::= { tlpPduOutletGroupEntry 6 }

tlpPduCircuitTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduCircuitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of pdu circuit table entries.  The number of entries
        is given by the value of tlpPduIdentNumCircuits."
    ::= { tlpPduCircuit 1 }

tlpPduCircuitEntry OBJECT-TYPE
    SYNTAX TlpPduCircuitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular circuit
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduCircuitIndex }
    ::= { tlpPduCircuitTable 1 }

TlpPduCircuitEntry ::= SEQUENCE {
    tlpPduCircuitIndex              Unsigned32,
    tlpPduCircuitPhase              INTEGER,
    tlpPduCircuitInputVoltage       Integer32,
    tlpPduCircuitTotalCurrent       Integer32,
    tlpPduCircuitCurrentLimit       Integer32,
    tlpPduCircuitCurrentMin         Integer32,
    tlpPduCircuitCurrentMax         Integer32,
    tlpPduCircuitTotalPower         Integer32,
    tlpPduCircuitPowerFactor        INTEGER,
    tlpPduCircuitUtilization        Unsigned32,
    tlpPduCircuitApparentPower      Unsigned32,
    tlpPduCircuitReactivePower      Integer32,
    tlpPduCircuitFrequency          Unsigned32,
    tlpPduCircuitWattHours          Unsigned32,
    tlpPduCircuitPeakPower          Unsigned32 }

tlpPduCircuitIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu circuit."
    ::= { tlpPduCircuitEntry 1 }

tlpPduCircuitPhase OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        phase1(1),
        phase2(2),
        phase3(3),
        phase1-2(4),
        phase2-3(5),
        phase3-1(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which phase or phases the given circuit is
        wired. For single phase devices, this object will always
        return phase1(1). For 3-phase devices with outlets wired
        to a single phase, this object will return phase1(1),
        phase2(2) or phase3(3). For 3-phase devices with outlets
        wired to two phases, this object will return phase1-2(4)
        for phases 1 and 2, phase2-3(5) for phases 2 and 3, and
        phase3-1(6) for phases 3 and 1. Devices that do not report
        phase connections will return unknown(0)."
    ::= { tlpPduCircuitEntry 2 }

tlpPduCircuitInputVoltage OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The input voltage for a circuit."
    ::= { tlpPduCircuitEntry 3 }

tlpPduCircuitTotalCurrent OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total current, in hundredths of amps, for all receptacles
        in a given circuit."
    ::= { tlpPduCircuitEntry 4 }

tlpPduCircuitCurrentLimit OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current capacity, in hundredths of amps, of a circuit in
        the pdu limited by the circuit breaker or wiring used in a
        given unit."
    ::= { tlpPduCircuitEntry 5 }

tlpPduCircuitCurrentMin OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
         "The minimum total current, in hundredths of amps, for
         all receptacles in a given circuit since last reset."
    ::= { tlpPduCircuitEntry 6 }

tlpPduCircuitCurrentMax OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum total current, in hundredths of amps, for
        all receptacles in a given circuit since last reset."
    ::= { tlpPduCircuitEntry 7 }

tlpPduCircuitTotalPower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total power for all receptacles in a given circuit."
    ::= { tlpPduCircuitEntry 8 }

tlpPduCircuitPowerFactor OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The power factor ratio for all receptacles in a given circuit."
    ::= { tlpPduCircuitEntry 9 }

tlpPduCircuitUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of utilization of a given circuit. This is typically
        a calculation of tlpPduCircuitTotalCurrent / tlpPduCircuitCurrentLimit."
    ::= { tlpPduCircuitEntry 10 }

tlpPduCircuitApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The apparent power of a given circuit."
    ::= { tlpPduCircuitEntry 11 }

tlpPduCircuitReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The reactive power of a given circuit."
    ::= { tlpPduCircuitEntry 12 }

tlpPduCircuitFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The frequency of a given circuit."
    ::= { tlpPduCircuitEntry 13 }

tlpPduCircuitWattHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpPduControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpPduCircuitEntry 14 }

tlpPduCircuitPeakPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpPduControlResetPeakPower to reset the peak power calculations."
    ::= { tlpPduCircuitEntry 15 }

tlpPduBreakerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduBreakerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of pdu circuit breaker table entries. The number of entries
        is given by the value of tlpPduIdentNumBreakers."
    ::= { tlpPduBreaker 1 }

tlpPduBreakerEntry OBJECT-TYPE
    SYNTAX TlpPduBreakerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular circuit
        breaker managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduBreakerIndex }
    ::= { tlpPduBreakerTable 1 }

TlpPduBreakerEntry ::= SEQUENCE {
    tlpPduBreakerIndex          Unsigned32,
    tlpPduBreakerStatus         INTEGER }

tlpPduBreakerIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu circuit breaker."
    ::= { tlpPduBreakerEntry 1 }

tlpPduBreakerStatus OBJECT-TYPE
    SYNTAX INTEGER {
        open(0),
        closed(1),
        notInstalled(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the circuit breaker is open(0), closed(1) or not
        installed(2)."
    ::= { tlpPduBreakerEntry 2 }

tlpPduHeatsinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduHeatsinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of pdu heatsink thermistor table entries. The number of entries
        is given by the value of tlpPduIdentNumHeatsinks."
    ::= { tlpPduHeatsink 1 }

tlpPduHeatsinkEntry OBJECT-TYPE
    SYNTAX TlpPduHeatsinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular heatsink
        thermistor managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduHeatsinkIndex }
    ::= { tlpPduHeatsinkTable 1 }

TlpPduHeatsinkEntry ::= SEQUENCE {
    tlpPduHeatsinkIndex             Unsigned32,
    tlpPduHeatsinkStatus            INTEGER,
    tlpPduHeatsinkTemperatureC      Integer32,
    tlpPduHeatsinkTemperatureF      Integer32 }

tlpPduHeatsinkIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the pdu heatsink thermistor."
    ::= { tlpPduHeatsinkEntry 1 }

tlpPduHeatsinkStatus OBJECT-TYPE
    SYNTAX INTEGER {
        notAvailable(0),
        available(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the heatsink thermistor is available. The entry
        will return notAvailable(0) if a thermistor is either non-existent or
        disconnected, or available(1) when connected."
    ::= { tlpPduHeatsinkEntry 2 }

tlpPduHeatsinkTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at the heatsink thermistor in tenths degrees Celsius.
        Heatsink temperature measurements are not supported on all models. If
        not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduHeatsinkEntry 3 }

tlpPduHeatsinkTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at the heatsink thermistor in tenths degrees Fahrenheit.
        Heatsink temperature measurements are not supported on all models. If
        not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpPduHeatsinkEntry 4 }

tlpPduControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable controls for each pdu in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are pdus."
    ::= { tlpPduControl 1 }

tlpPduControlEntry OBJECT-TYPE
    SYNTAX TlpPduControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing controls for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduControlTable 1 }

TlpPduControlEntry ::= SEQUENCE {
    tlpPduControlRamp                   TruthValue,
    tlpPduControlShed                   TruthValue,
    tlpPduControlPduOn                  TruthValue,
    tlpPduControlPduOff                 TruthValue,
    tlpPduControlPduRestart             TruthValue,
    tlpPduControlResetGeneralFault      TruthValue,
    tlpPduControlResetWattHours         TruthValue,
    tlpPduControlResetPeakPower         TruthValue,
    tlpPduControlClearEventLog          TruthValue }

tlpPduControlRamp OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate the pre-designated ramp
        sequence on the pdu."
    ::= { tlpPduControlEntry 1 }

tlpPduControlShed OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate the pre-designated shed
        sequence on the pdu."
    ::= { tlpPduControlEntry 2 }

tlpPduControlPduOn OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the pdu on."
    ::= { tlpPduControlEntry 3 }

tlpPduControlPduOff OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the pdu off."
    ::= { tlpPduControlEntry 4 }

tlpPduControlPduRestart OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to restart the pdu."
    ::= { tlpPduControlEntry 5 }

tlpPduControlResetGeneralFault OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the general fault alarm indicated by
        tlpPduDeviceGeneralFault."
    ::= { tlpPduControlEntry 6 }

tlpPduControlResetWattHours OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the tlpPduDeviceWattHoursTotal, tlpPduOutputWattHours
        and tlpPduCircuitWattHours calculation algorithms."
    ::= { tlpPduControlEntry 7 }

tlpPduControlResetPeakPower OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the tlpPduCircuitPeakPower and tlpPduOutputPeakPower
        calculation algorithms."
    ::= { tlpPduControlEntry 8 }

tlpPduControlClearEventLog OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to clear the event log retained by the pdu."
    ::= { tlpPduControlEntry 9 }

tlpPduControlOutputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduControlOutputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable output phase-specific controls for each pdu in device
        table. This is a sparse dependent table, and will contain some subset of
        devices that are pdus."
    ::= { tlpPduControl 2 }

tlpPduControlOutputPhaseEntry OBJECT-TYPE
    SYNTAX TlpPduControlOutputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular output
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduOutputIndex }
    ::= { tlpPduControlOutputPhaseTable 1 }

TlpPduControlOutputPhaseEntry ::= SEQUENCE {
    tlpPduControlResetOutputCurrentMinMax       TruthValue }

tlpPduControlResetOutputCurrentMinMax OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpPduOutputCurrentMin and tlpPduOutputCurrentMax
        to their appropriate minimum and maximum values. This value will return
        ERROR_NO_SUCH_NAME if not supported."
    ::= { tlpPduControlOutputPhaseEntry 1 }

tlpPduControlInputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduControlInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable input phase-specific controls for each pdu in device
        table. This is a sparse dependent table, and will contain some subset of
        devices that are pdus."
    ::= { tlpPduControl 3 }

tlpPduControlInputPhaseEntry OBJECT-TYPE
    SYNTAX TlpPduControlInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduInputPhaseIndex }
    ::= { tlpPduControlInputPhaseTable 1 }

TlpPduControlInputPhaseEntry ::= SEQUENCE {
    tlpPduControlResetInputVoltageMinMax        TruthValue }

tlpPduControlResetInputVoltageMinMax OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpPduInputPhaseVoltageMin and tlpPduInputPhaseVoltageMax
        to their appropriate minimum and maximum values. Resetting the minimum and maximum
        values for one phase on some devices will reset the values for all phases. This
        value will return ERROR_NO_SUCH_NAME if not supported."
    ::= { tlpPduControlInputPhaseEntry 1 }

tlpPduConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each pdu in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are pdus. Not all options are available on all
        pdus."
    ::= { tlpPduConfig 1 }

tlpPduConfigEntry OBJECT-TYPE
    SYNTAX TlpPduConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configuration options for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduConfigTable 1 }

TlpPduConfigEntry ::= SEQUENCE {
    tlpPduConfigInputVoltage                    Unsigned32,
    tlpPduConfigIsoBreakerSetting               INTEGER,
    tlpPduConfigRelayCalibrationSetting         INTEGER,
    tlpPduConfigThdSetting                      INTEGER,
    tlpPduConfigWaveformCaptureSetting          INTEGER,
    tlpPduConfigRemoteResetSetting              INTEGER }

tlpPduConfigInputVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME. This value may not be writable on all models. If
        not writable, the value will be rejected and an appropriate error
        message will be returned."
    ::= { tlpPduConfigEntry 1 }

tlpPduConfigIsoBreakerSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(4) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IsoBreaker feature uses software to eliminate the cause
        of an overcurrent before the circuit break trips. If a specific outlet
        has an overcurrent, this outlet is probably the cause, and this outlet
        should be turned off. This setting specifies whether the pdu turns off
        outlets to correct overcurrent."
    ::= { tlpPduConfigEntry 2 }

tlpPduConfigRelayCalibrationSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether to automatically self-calibrate the relays on the
        device."
    ::= { tlpPduConfigEntry 3 }

tlpPduConfigThdSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether the total harmonic distortion features on the device are
        enabled."
    ::= { tlpPduConfigEntry 4 }

tlpPduConfigWaveformCaptureSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether the device will capture waveforms to associate with
        logged events."
    ::= { tlpPduConfigEntry 5 }

tlpPduConfigRemoteResetSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether the LX Card can be remotely reset via a Wake-On-LAN (WOL)
        packet."
    ::= { tlpPduConfigEntry 6 }

tlpPduConfigOutputPhaseThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduConfigOutputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each pdu in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are pdus. Not all options are available on all
        pdus."
    ::= { tlpPduConfig 2 }

tlpPduConfigOutputPhaseThresholdEntry OBJECT-TYPE
    SYNTAX TlpPduConfigOutputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing threshold configuration options for a particular pdu."
    INDEX { tlpDeviceIndex, tlpPduOutputIndex }
    ::= { tlpPduConfigOutputPhaseThresholdTable 1 }

TlpPduConfigOutputPhaseThresholdEntry ::= SEQUENCE {
    tlpPduConfigOutputCurrentThresholdTolerance     Unsigned32,
    tlpPduConfigOutputCurrentHighThreshold          Unsigned32,
    tlpPduConfigOutputCurrentLowThreshold           Unsigned32,
    tlpPduConfigOutputVoltageThresholdTolerance     Unsigned32,
    tlpPduConfigOutputVoltageHighCriticalThreshold  Unsigned32,
    tlpPduConfigOutputVoltageHighWarningThreshold   Unsigned32,
    tlpPduConfigOutputVoltageLowWarningThreshold    Unsigned32,
    tlpPduConfigOutputVoltageLowCriticalThreshold   Unsigned32 }

tlpPduConfigOutputCurrentThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value, in hundredths of amps, used
        together with output current high/low threshold to evaluate
        output current high/low condition. The actual precision of this
        value, whether a whole number, tenths or hundredths, is returned
        by tlpPduDeviceOutputCurrentPrecision."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 1 }

tlpPduConfigOutputCurrentHighThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value, in hundredths of amps, at which an output current
        high condition is declared. The actual precision of this value,
        whether a whole number, tenths or hundredths, is returned by
        tlpPduDeviceOutputCurrentPrecision."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 2 }

tlpPduConfigOutputCurrentLowThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value, in hundredths of amps, at which an output current
        low condition is declared. The actual precision of this value,
        whether a whole number, tenths or hundredths, is returned by
        tlpPduDeviceOutputCurrentPrecision."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 3 }

tlpPduConfigOutputVoltageThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output voltage high/low
        threshold to evaluate output voltage high/low condition."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 4 }

tlpPduConfigOutputVoltageHighCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage high critical condition is declared."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 5 }

tlpPduConfigOutputVoltageHighWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage high warning condition is declared."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 6 }

tlpPduConfigOutputVoltageLowWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage low warning condition is declared."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 7 }

tlpPduConfigOutputVoltageLowCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage low critical condition is declared."
    ::= { tlpPduConfigOutputPhaseThresholdEntry 8 }

tlpPduConfigInputPhaseThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduConfigInputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input phase configuration details for each pdu in device table.
        This is a sparse dependent table, and will contain the number of
        entries based on the number of pdus managed by the agent as reported
        by tlpPduIdentNumPdu and tlpPduIdentNumPhases. Not all options are
        available on all pdus."
    ::= { tlpPduConfig 3 }

tlpPduConfigInputPhaseThresholdEntry OBJECT-TYPE
    SYNTAX TlpPduConfigInputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpPduInputPhaseIndex }
    ::= { tlpPduConfigInputPhaseThresholdTable 1 }

TlpPduConfigInputPhaseThresholdEntry ::= SEQUENCE {
    tlpPduConfigInputVoltageThresholdTolerance      Unsigned32,
    tlpPduConfigInputVoltageHighCriticalThreshold   Unsigned32,
    tlpPduConfigInputVoltageHighWarningThreshold    Unsigned32,
    tlpPduConfigInputVoltageLowWarningThreshold     Unsigned32,
    tlpPduConfigInputVoltageLowCriticalThreshold    Unsigned32 }

tlpPduConfigInputVoltageThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output voltage high/low
        threshold to evaluate output voltage high/low condition."
    ::= { tlpPduConfigInputPhaseThresholdEntry 1 }

tlpPduConfigInputVoltageHighCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage high critical condition is declared."
    ::= { tlpPduConfigInputPhaseThresholdEntry 2 }

tlpPduConfigInputVoltageHighWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage high warning condition is declared."
    ::= { tlpPduConfigInputPhaseThresholdEntry 3 }

tlpPduConfigInputVoltageLowWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage low warning condition is declared."
    ::= { tlpPduConfigInputPhaseThresholdEntry 4 }

tlpPduConfigInputVoltageLowCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage low critical condition is declared."
    ::= { tlpPduConfigInputPhaseThresholdEntry 5 }

tlpPduConfigThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpPduConfigThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configurable threshold options of each pdu in device table. This
        is a sparse dependent table, and will contain some subset of devices that
        are pdus. Not all options are available on all pdus."
    ::= { tlpPduConfig 4 }

tlpPduConfigThresholdEntry OBJECT-TYPE
    SYNTAX TlpPduConfigThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configurable threshold options for a particular pdu."
    INDEX { tlpDeviceIndex }
    ::= { tlpPduConfigThresholdTable 1 }

TlpPduConfigThresholdEntry ::= SEQUENCE {
    tlpPduConfigThdOutOfRangeThreshold          Unsigned32 }

tlpPduConfigThdOutOfRangeThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (1..9999)
    UNITS "0.01 percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Denotes the percentage of THD voltage in hundredths of a percent at which
        the THD voltage out of range condition occurs. The out of range condition,
        tlpPduAlarmThdOutOfRange, is triggered when the THD voltage exceeds this
        value."
    ::= { tlpPduConfigThresholdEntry 1 }

-- envirosense

tlpEnvIdentNumEnvirosense OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of envirosense devices that this agent is currently managing."
    ::= { tlpEnvIdent 1 }

tlpEnvIdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The identity details of each envirosense in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are envirosenses."
    ::= { tlpEnvIdent 2 }

tlpEnvIdentEntry OBJECT-TYPE
    SYNTAX TlpEnvIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing details for a particular envirosense."
    INDEX { tlpDeviceIndex }
    ::= { tlpEnvIdentTable 1 }

TlpEnvIdentEntry ::= SEQUENCE {
    tlpEnvIdentTempSupported        TruthValue,
    tlpEnvIdentHumiditySupported    TruthValue,
    tlpEnvNumInputContacts          Unsigned32,
    tlpEnvNumOutputContacts         Unsigned32 }

tlpEnvIdentTempSupported OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not temperature is supported."
    ::= { tlpEnvIdentEntry 1 }

tlpEnvIdentHumiditySupported OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not humidity is supported."
    ::= { tlpEnvIdentEntry 2 }

tlpEnvNumInputContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of input contacts supported by the envirosense."
    ::= { tlpEnvIdentEntry 3 }

tlpEnvNumOutputContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of output contacts supported by the envirosense."
    ::= { tlpEnvIdentEntry 4 }

tlpEnvTemperatureTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvTemperatureEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The temperature details of each envirosense in device table. The
        number of entries is given by the value of tlpDevicesNumDevices."
    ::= { tlpEnvDetail 1 }

tlpEnvTemperatureEntry OBJECT-TYPE
    SYNTAX TlpEnvTemperatureEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing temperature details for a particular
        envirosense."
        INDEX { tlpDeviceIndex }
    ::= { tlpEnvTemperatureTable 1 }

TlpEnvTemperatureEntry ::= SEQUENCE {
    tlpEnvTemperatureC              Integer32,
    tlpEnvTemperatureF              Integer32,
    tlpEnvTemperatureInAlarm        TruthValue }

tlpEnvTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature."
    ::= { tlpEnvTemperatureEntry 1 }

tlpEnvTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature."
    ::= { tlpEnvTemperatureEntry 2 }

tlpEnvTemperatureInAlarm OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not temperature is in alarm."
    ::= { tlpEnvTemperatureEntry 3 }

tlpEnvHumidityTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvHumidityEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The humidity details of each envirosense in device table. The
        number of entries is given by the value of tlpDevicesNumDevices."
    ::= { tlpEnvDetail 2 }

tlpEnvHumidityEntry OBJECT-TYPE
    SYNTAX TlpEnvHumidityEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing humidity details for a particular
        envirosense."
        INDEX { tlpDeviceIndex }
    ::= { tlpEnvHumidityTable 1 }

TlpEnvHumidityEntry ::= SEQUENCE {
    tlpEnvHumidityHumidity          INTEGER,
    tlpEnvHumidityInAlarm           TruthValue }

tlpEnvHumidityHumidity OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient humidity."
    ::= { tlpEnvHumidityEntry 1 }

tlpEnvHumidityInAlarm OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not humidity is in alarm."
    ::= { tlpEnvHumidityEntry 2 }

tlpEnvInputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvInputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input contact details of each envirosense in device table.
        The number of entries is given by the value of tlpDevicesNumDevices."
    ::= { tlpEnvDetail 3 }

tlpEnvInputContactEntry OBJECT-TYPE
    SYNTAX TlpEnvInputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing input contact details for a particular
        envirosense."
        INDEX { tlpDeviceIndex, tlpEnvInputContactIndex }
    ::= { tlpEnvInputContactTable 1 }

TlpEnvInputContactEntry ::= SEQUENCE {
    tlpEnvInputContactIndex             Unsigned32,
    tlpEnvInputContactName              DisplayString,
    tlpEnvInputContactNormalState       INTEGER,
    tlpEnvInputContactCurrentState      INTEGER,
    tlpEnvInputContactInAlarm           TruthValue }

tlpEnvInputContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the envirosense input contact details."
    ::= { tlpEnvInputContactEntry 1 }

tlpEnvInputContactName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name or description of the contact."
    ::= { tlpEnvInputContactEntry 2 }

tlpEnvInputContactNormalState OBJECT-TYPE
    SYNTAX INTEGER {
        open(0),
        closed(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The normal operating position of the contact."
    ::= { tlpEnvInputContactEntry 3 }

tlpEnvInputContactCurrentState OBJECT-TYPE
    SYNTAX INTEGER {
        open(0),
        closed(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the contact."
    ::= { tlpEnvInputContactEntry 4 }

tlpEnvInputContactInAlarm OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the contact is in alarm."
    ::= { tlpEnvInputContactEntry 5 }

tlpEnvOutputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output contact details of each envirosense in device table.
        The number of entries is given by the value of tlpDevicesNumDevices."
    ::= { tlpEnvDetail 4 }

tlpEnvOutputContactEntry OBJECT-TYPE
    SYNTAX TlpEnvOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing output contact details for a particular
        envirosense."
        INDEX { tlpDeviceIndex, tlpEnvOutputContactIndex }
    ::= { tlpEnvOutputContactTable 1 }

TlpEnvOutputContactEntry ::= SEQUENCE {
    tlpEnvOutputContactIndex            Unsigned32,
    tlpEnvOutputContactName             DisplayString,
    tlpEnvOutputContactNormalState      INTEGER,
    tlpEnvOutputContactCurrentState     INTEGER,
    tlpEnvOutputContactInAlarm          TruthValue }

tlpEnvOutputContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the envirosense output contact details."
    ::= { tlpEnvOutputContactEntry 1 }

tlpEnvOutputContactName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name or description of the contact."
    ::= { tlpEnvOutputContactEntry 2 }

tlpEnvOutputContactNormalState OBJECT-TYPE
    SYNTAX INTEGER {
        open(0),
        closed(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The normal operating position of the contact."
    ::= { tlpEnvOutputContactEntry 3 }

tlpEnvOutputContactCurrentState OBJECT-TYPE
    SYNTAX INTEGER {
        open(0),
        closed(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the contact. Use tlpEnvControlOutputContactOpen
        and tlpEnvControlOutputContactClose to change the state of the output
        contact."
    ::= { tlpEnvOutputContactEntry 4 }

tlpEnvOutputContactInAlarm OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the contact is in alarm."
    ::= { tlpEnvOutputContactEntry 5 }

tlpEnvControlOutputContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvControlOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable controls for each sensor in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are sensors."
    ::= { tlpEnvControl 1 }

tlpEnvControlOutputContactEntry OBJECT-TYPE
    SYNTAX TlpEnvControlOutputContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing controls for a particular pdu."
    INDEX { tlpDeviceIndex, tlpEnvOutputContactIndex }
    ::= { tlpEnvControlOutputContactTable 1 }

TlpEnvControlOutputContactEntry ::= SEQUENCE {
    tlpEnvControlOutputContactOpen      TruthValue,
    tlpEnvControlOutputContactClose     TruthValue }

tlpEnvControlOutputContactOpen OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to open this output contact."
    ::= { tlpEnvControlOutputContactEntry 1 }

tlpEnvControlOutputContactClose OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to close this output contact."
    ::= { tlpEnvControlOutputContactEntry 2 }

tlpEnvConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpEnvConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each envirosense in device table.
        This is a sparse dependent table, and will contain some subset of
        devices that are envirosenses. Not all options are available on
        all envirosenses."
    ::= { tlpEnvConfig 1 }

tlpEnvConfigEntry OBJECT-TYPE
    SYNTAX TlpEnvConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configuration options for a particular
        envirosenses."
    INDEX { tlpDeviceIndex }
    ::= { tlpEnvConfigTable 1 }

TlpEnvConfigEntry ::= SEQUENCE {
    tlpEnvTemperatureLowLimit           Integer32,
    tlpEnvTemperatureHighLimit          Integer32,
    tlpEnvHumidityLowLimit              INTEGER,
    tlpEnvHumidityHighLimit             INTEGER }

tlpEnvTemperatureLowLimit OBJECT-TYPE
    SYNTAX Integer32
    UNITS "degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The lower alarm limit for ambient temperature."
    ::= { tlpEnvConfigEntry 1 }

tlpEnvTemperatureHighLimit OBJECT-TYPE
    SYNTAX Integer32
    UNITS "degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The upper alarm limit for ambient temperature."
    ::= { tlpEnvConfigEntry 2 }

tlpEnvHumidityLowLimit OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The lower alarm limit for ambient humidity."
    ::= { tlpEnvConfigEntry 3 }

tlpEnvHumidityHighLimit OBJECT-TYPE
    SYNTAX INTEGER (0..100)
    UNITS "percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The upper alarm limit for ambient humidity."
    ::= { tlpEnvConfigEntry 4 }

-- ats

tlpAtsIdentNumAts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of ats devices that this agent is currently managing."
    ::= { tlpAtsIdent 1 }

tlpAtsIdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The identity details of each ats in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are atss."
    ::= { tlpAtsIdent 2 }

tlpAtsIdentEntry OBJECT-TYPE
    SYNTAX TlpAtsIdentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing details for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsIdentTable 1 }

TlpAtsIdentEntry ::= SEQUENCE {
    tlpAtsIdentNumInputs                Unsigned32,
    tlpAtsIdentNumOutputs               Unsigned32,
    tlpAtsIdentNumPhases                Unsigned32,
    tlpAtsIdentNumOutlets               Unsigned32,
    tlpAtsIdentNumOutletGroups          Unsigned32,
    tlpAtsIdentNumCircuits              Unsigned32,
    tlpAtsIdentNumBreakers              Unsigned32,
    tlpAtsIdentNumHeatsinks             Unsigned32 }

tlpAtsIdentNumInputs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of inputs supported by the ats."
    ::= { tlpAtsIdentEntry 1 }

tlpAtsIdentNumOutputs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of outputs supported by the ats."
    ::= { tlpAtsIdentEntry 2 }

tlpAtsIdentNumPhases OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of phases per input supported by the ats."
    ::= { tlpAtsIdentEntry 3 }

tlpAtsIdentNumOutlets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of receptacles supported by the ats."
    ::= { tlpAtsIdentEntry 4 }

tlpAtsIdentNumOutletGroups OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of user-defined receptacle groups created for the
        ats."
    ::= { tlpAtsIdentEntry 5 }

tlpAtsIdentNumCircuits OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of circuits supported by the ats."
    ::= { tlpAtsIdentEntry 6 }

tlpAtsIdentNumBreakers OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of monitored circuit breakers supported by the ats.
        If the ats has breakers that are not monitored by the device,
        the value of zero(0) will be returned."
    ::= { tlpAtsIdentEntry 7 }

tlpAtsIdentNumHeatsinks OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of heatsink thermistors supported by the ats."
    ::= { tlpAtsIdentEntry 8 }

tlpAtsSupportsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsSupportsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The supported details of each ats in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are atss."
    ::= { tlpAtsIdent 3 }

tlpAtsSupportsEntry OBJECT-TYPE
    SYNTAX TlpAtsSupportsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing supported details for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsSupportsTable 1 }

TlpAtsSupportsEntry ::= SEQUENCE {
    tlpAtsSupportsEnergywise            TruthValue,
    tlpAtsSupportsRampShed              TruthValue,
    tlpAtsSupportsOutletGroup           TruthValue,
    tlpAtsSupportsOutletCurrent         TruthValue,
    tlpAtsSupportsOutletVoltage         TruthValue,
    tlpAtsSupportsOutletActivePower     TruthValue }

tlpAtsSupportsEnergywise OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the ats supports Cisco EnergyWise."
    ::= { tlpAtsSupportsEntry 1 }

tlpAtsSupportsRampShed OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ats supports ramping and shedding."
    ::= { tlpAtsSupportsEntry 2 }

tlpAtsSupportsOutletGroup OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ats supports outlet groups."
    ::= { tlpAtsSupportsEntry 3 }

tlpAtsSupportsOutletCurrent OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ats reports individual receptacle
        current measurements. Devices that do not support individual
        receptacle measurements will always return ERROR_NO_SUCH_NAME for
        tlpAtsOutletCurrent."
    ::= { tlpAtsSupportsEntry 4 }

tlpAtsSupportsOutletVoltage OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ats reports individual receptacle voltage
        measurements. Devices that do not support individual receptacle
        measurements will always return ERROR_NO_SUCH_NAME for
        tlpAtsOutletVoltage."
    ::= { tlpAtsSupportsEntry 5 }

tlpAtsSupportsOutletActivePower OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the ats reports individual receptacle
        power measurements. Devices that do not support individual
        receptacle measurements will always return ERROR_NO_SUCH_NAME for
        tlpAtsOutletActivePower."
    ::= { tlpAtsSupportsEntry 6 }

tlpAtsDisplayTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsDisplayEntry
    MAX-ACCESS not-accessible
    STATUS deprecated
    DESCRIPTION
        "The display details of each ats in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are atss."
    ::= { tlpAtsIdent 4 }

tlpAtsDisplayEntry OBJECT-TYPE
    SYNTAX TlpAtsDisplayEntry
    MAX-ACCESS not-accessible
    STATUS deprecated
    DESCRIPTION
        "An entry containing display details for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsDisplayTable 1 }

TlpAtsDisplayEntry ::= SEQUENCE {
    tlpAtsDisplayScheme             INTEGER,
    tlpAtsDisplayOrientation        INTEGER,
    tlpAtsDisplayAutoScroll         INTEGER,
    tlpAtsDisplayIntensity          INTEGER,
    tlpAtsDisplayUnits              INTEGER }

tlpAtsDisplayScheme OBJECT-TYPE
    SYNTAX INTEGER {
        schemeReverse(0),
        schemeNormal(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the display scheme of the LED display. The value
        schemeReverse(0) indicates the tricolor LED indicator uses an
        alternate pattern. The value schemeNormal(1) indicates the
        LED indicator uses the standard pattern. This value may not
        be supported on all models. If not supported, the value will
        always return schemeNormal(1)."
    ::= { tlpAtsDisplayEntry 1 }

tlpAtsDisplayOrientation OBJECT-TYPE
    SYNTAX INTEGER {
        displayNormal(0),
        displayReverse(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the physical orientation of the LED display. The value
        displayNormal(0) indicates the display is right-side-up (normal).
        The value displayReverse(1) indicates the display is upside-down.
        This value may not be supported on all models. If not supported,
        the value will always return displayNormal(0)."
    ::= { tlpAtsDisplayEntry 2 }

tlpAtsDisplayAutoScroll OBJECT-TYPE
    SYNTAX INTEGER {
        scrollDisabled(0),
        scrollEnabled(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the LED display automatically scrolls through
        displaying status values."
    ::= { tlpAtsDisplayEntry 3 }

tlpAtsDisplayIntensity OBJECT-TYPE
    SYNTAX INTEGER {
        intensity25(1),
        intensity50(2),
        intensity75(3),
        intensity100(4) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the intensity, as a percentage, of the LED display. The
        value intensity100(4) indicates the display is at 100% intensity.
        The other values indicate the display is at a lesser intensity based
        upon the respective percentage denoted."
    ::= { tlpAtsDisplayEntry 4 }

tlpAtsDisplayUnits OBJECT-TYPE
    SYNTAX INTEGER {
        normal(0),
        metric(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates the units of measurement displayed on the LED display.
        The value normal(0) indicates that a temperature value, for example,
        is displayed in degrees Fahrenheit. The value metric(1) indicates a
        temperature value is displayed in degrees Celsius."
    ::= { tlpAtsDisplayEntry 5 }

tlpAtsDeviceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The device details of each ats in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are atss."
    ::= { tlpAtsDevice 1 }

tlpAtsDeviceEntry OBJECT-TYPE
    SYNTAX TlpAtsDeviceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing device details for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsDeviceTable 1 }

TlpAtsDeviceEntry ::= SEQUENCE {
    tlpAtsDeviceMainLoadState               INTEGER,
    tlpAtsDeviceMainLoadControllable        TruthValue,
    tlpAtsDeviceMainLoadCommand             INTEGER,
    tlpAtsDevicePowerOnDelay                Integer32,
    tlpAtsDeviceTotalInputPowerRating       Integer32,
    tlpAtsDeviceTemperatureC                Integer32,
    tlpAtsDeviceTemperatureF                Integer32,
    tlpAtsDevicePhaseImbalance              INTEGER,
    tlpAtsDeviceOutputActivePowerTotal      Unsigned32,
    tlpAtsDeviceAggregatePowerFactor        Unsigned32,
    tlpAtsDeviceOutputCurrentPrecision      INTEGER,
    tlpAtsDeviceGeneralFault                TruthValue,
    tlpAtsDeviceTotalOutputUtilization      INTEGER,
    tlpAtsDeviceOutputApparentPowerTotal    Unsigned32,
    tlpAtsDeviceOutputReactivePowerTotal    Integer32,
    tlpAtsDeviceOutputCurrentTotal          Unsigned32,
    tlpAtsDeviceWattHoursTotal              Unsigned32,
    tlpAtsDevicePeakPowerTotal              Unsigned32,
    tlpAtsDevice24hrEnergyTotal             Unsigned32 }

tlpAtsDeviceMainLoadState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the main output of the device."
    ::= { tlpAtsDeviceEntry 1 }

tlpAtsDeviceMainLoadControllable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the main output is controllable, and whether
        the ups can be turned off and on."
    ::= { tlpAtsDeviceEntry 2 }

tlpAtsDeviceMainLoadCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value to
        turnOff(1) will turn off the main output of the ups. Setting this
        value to turnOn(2) will turn on the main output of the ups. Setting
        this value to cycle(3) will turn off the main output, then turn it
        back on."
    ::= { tlpAtsDeviceEntry 3 }

tlpAtsDevicePowerOnDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The configurable delay value, which sets the amount of additional
        time a given device will wait before it connects to a valid AC
        source. By default the delay value is set to 0. For devices with
        multiple AC input sources, this delay only applies to the primary
        input source."
    ::= { tlpAtsDeviceEntry 4 }

tlpAtsDeviceTotalInputPowerRating OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total input power rating of all phases on the device. This
        value may not be supported on all models. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsDeviceEntry 5 }

tlpAtsDeviceTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the ats casing. Temperature
        measurements are not supported on all models. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsDeviceEntry 6 }

tlpAtsDeviceTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature at or near the ats casing. Temperature
        measurements are not supported on all models. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsDeviceEntry 7 }

tlpAtsDevicePhaseImbalance OBJECT-TYPE
    SYNTAX INTEGER (0..200)
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of imbalance of the three phases. This value is in
        the range from 0% imbalance to 100% imbalance. The lower the value,
        the better balanced the phases are. If all load is on a single phase,
        the imbalance is defined as 100%."
    ::= { tlpAtsDeviceEntry 8 }

tlpAtsDeviceOutputActivePowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total true power for all circuits."
    ::= { tlpAtsDeviceEntry 9 }

tlpAtsDeviceAggregatePowerFactor OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The aggregate power factor of all phases."
  ::= { tlpAtsDeviceEntry 10 }

tlpAtsDeviceOutputCurrentPrecision OBJECT-TYPE
    SYNTAX INTEGER {
        none(0),
        tenths(1),
        hundredths(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output current is reported by tlpAtsOutputCurrent, tlpAtsOutputCurrentMin
        and tlpAtsOutputCurrentMax. These values are all reported in hundredths
        (0.01A), which accommodates all models; however, on any given device the
        actual precision may vary. This value describes the actual precision, which
        can be used as a divisor against the output current values to obtain the
        true output current measurement. For example, if tlpAtsOutputCurrent reports
        530 and tlpAtsDeviceOutputCurrentPrecision is tenths(1), then the actual
        output current is 5.3."
    ::= { tlpAtsDeviceEntry 11 }

tlpAtsDeviceGeneralFault OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether or not the ats is in a fault condition. When the ats is in such
        a fault condition, the condition can be cleared with tlpAtsControlResetGeneralFault."
    ::= { tlpAtsDeviceEntry 12 }

tlpAtsDeviceTotalOutputUtilization OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total percentage of the ats power capacity presently being
        used on the ats."
    ::= { tlpAtsDeviceEntry 13 }

tlpAtsDeviceOutputApparentPowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total apparent power for all circuits. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsDeviceEntry 14 }

tlpAtsDeviceOutputReactivePowerTotal OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The AC output total reactive power for all circuits. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsDeviceEntry 15 }

tlpAtsDeviceOutputCurrentTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total output current, in hundredths of amps.The actual precision of
        this value, whether a whole number, tenths or hundredths, is returned
        by tlpAtsDeviceOutputCurrentPrecision."
    ::= { tlpAtsDeviceEntry 16 }

tlpAtsDeviceWattHoursTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpAtsControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpAtsDeviceEntry 17 }

tlpAtsDevicePeakPowerTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpAtsControlResetPeakPower to reset the peak power calculations."
    ::= { tlpAtsDeviceEntry 18 }

tlpAtsDevice24hrEnergyTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption using present value
        of tlpAtsOutputPowerKW."
    ::= { tlpAtsDeviceEntry 19 }

tlpAtsInputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input details of each ats in device table. This is a sparse
        dependent table, and will contain the number of entries based upon
        the number of atss managed by the agent as reported by tlpAtsIdentNumAts."
    ::= { tlpAtsInput 1 }

tlpAtsInputEntry OBJECT-TYPE
    SYNTAX TlpAtsInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular primary
        input phase managed by this agent."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsInputTable 1 }

TlpAtsInputEntry ::= SEQUENCE {
    tlpAtsInputNominalVoltage                   Unsigned32,
    tlpAtsInputNominalVoltagePhaseToPhase       Unsigned32,
    tlpAtsInputNominalVoltagePhaseToNeutral     Unsigned32,
    tlpAtsInputLowTransferVoltage               Unsigned32,
    tlpAtsInputLowTransferVoltageLowerBound     Unsigned32,
    tlpAtsInputLowTransferVoltageUpperBound     Unsigned32,
    tlpAtsInputHighTransferVoltage              Unsigned32,
    tlpAtsInputHighTransferVoltageLowerBound    Unsigned32,
    tlpAtsInputHighTransferVoltageUpperBound    Unsigned32,
    tlpAtsInputFairVoltageThreshold             Unsigned32,
    tlpAtsInputBadVoltageThreshold              Unsigned32,
    tlpAtsInputSourceAvailability               INTEGER,
    tlpAtsInputSourceInUse                      INTEGER,
    tlpAtsInputSourceTransitionCount            Unsigned32,
    tlpAtsInputCurrentLimit                     Unsigned32,
    tlpAtsInputCurrentTotal                     Unsigned32 }

tlpAtsInputNominalVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsInputEntry 1 }

tlpAtsInputNominalVoltagePhaseToPhase OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage as measured from
        phase to phase. This value may not be supported on all models.
        If not supported, this value will always return zero."
    ::= { tlpAtsInputEntry 2 }

tlpAtsInputNominalVoltagePhaseToNeutral OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage as measured from
        phase to neutral. This value may not be supported on all models.
        If not supported, this value will always return zero."
    ::= { tlpAtsInputEntry 3 }

tlpAtsInputLowTransferVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum line voltage allowed before the unit disconnects the
        AC input connection."
    ::= { tlpAtsInputEntry 4 }

tlpAtsInputLowTransferVoltageLowerBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The lower boundary value of tlpAtsInputLowTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpAtsInputEntry 5 }

tlpAtsInputLowTransferVoltageUpperBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upper boundary value of tlpAtsInputLowTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpAtsInputEntry 6 }

tlpAtsInputHighTransferVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum line voltage allowed before the unit disconnects the
        AC input connection."
    ::= { tlpAtsInputEntry 7 }

tlpAtsInputHighTransferVoltageLowerBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The lower boundary value of tlpAtsInputHighTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpAtsInputEntry 8 }

tlpAtsInputHighTransferVoltageUpperBound OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upper boundary value of tlpAtsInputHighTransferVoltage as dictated
        by the hardware of the unit."
    ::= { tlpAtsInputEntry 9 }

tlpAtsInputFairVoltageThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The voltage level at which the device will transition between sources."
    ::= { tlpAtsInputEntry 10 }

tlpAtsInputBadVoltageThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum line voltage allowed before the device disconnects the AC input
        connection."
    ::= { tlpAtsInputEntry 11 }

tlpAtsInputSourceAvailability OBJECT-TYPE
    SYNTAX INTEGER {
        none(0),
        inputSourceA(1),
        inputSourceB(2),
        inputSourceAB(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The determination as to which of two AC input lines are available.
        The agent will return either inputSourceA(1) or inputSourceB(2) if
        only one line is available, or inputSourceAB(3) if both lines are
        available. The agent will never return none(0) since the device will
        be powered off if neither line is available."
    ::= { tlpAtsInputEntry 12 }

tlpAtsInputSourceInUse OBJECT-TYPE
    SYNTAX INTEGER {
        inputSourceA(0),
        inputSourceB(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The determination as to which one of two AC input lines is in use. Not all
        devices support the reporting of which source is currently in use. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsInputEntry 13 }

tlpAtsInputSourceTransitionCount OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of times the device transitions between primary and secondary
        sources. Most devices are limited to 65533 transitions, after which the
        value will not increment. If not supported, this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsInputEntry 14 }

tlpAtsInputCurrentLimit OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The capacity of each phase conductor in the ats limited by the AC input
        cord or any other potential limiting factors unique to a given unit. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsInputEntry 15 }

tlpAtsInputCurrentTotal OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The aggregate total of conductor currents. If the ats does not support this value,
        then the agent will report ERROR_NO_SUCH_NAME."
    ::= { tlpAtsInputEntry 16 }

tlpAtsInputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input phase details of each ats in device table. This is a sparse
        dependent table, and will contain the number of entries based upon
        the value of tlpAtsIdentNumInputs and tlpAtsIdentNumPhases per each
        device."
    ::= { tlpAtsInput 2 }

tlpAtsInputPhaseEntry OBJECT-TYPE
    SYNTAX TlpAtsInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular primary
        input phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsInputLineIndex, tlpAtsInputPhaseIndex }
    ::= { tlpAtsInputPhaseTable 1 }

TlpAtsInputPhaseEntry ::= SEQUENCE {
    tlpAtsInputLineIndex                    Unsigned32,
    tlpAtsInputPhaseIndex                   Unsigned32,
    tlpAtsInputPhaseType                    INTEGER,
    tlpAtsInputPhaseFrequency               Unsigned32,
    tlpAtsInputPhaseVoltage                 Unsigned32,
    tlpAtsInputPhaseVoltageMin              Unsigned32,
    tlpAtsInputPhaseVoltageMax              Unsigned32,
    tlpAtsInputPhaseCurrent                 Unsigned32,
    tlpAtsInputPhasePower                   Unsigned32,
    tlpAtsInputPhaseThdVoltage              Unsigned32 }

tlpAtsInputLineIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the input line on the ats."
    ::= { tlpAtsInputPhaseEntry 1 }

tlpAtsInputPhaseIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the input phase for the input line."
    ::= { tlpAtsInputPhaseEntry 2 }

tlpAtsInputPhaseType OBJECT-TYPE
    SYNTAX INTEGER {
        phaseToNeutral(0),
        phaseToPhase(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether measurements are phase to neutral(0) or phase
        to phase(1)."
    ::= { tlpAtsInputPhaseEntry 3 }

tlpAtsInputPhaseFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present input frequency for a given phase."
    ::= { tlpAtsInputPhaseEntry 4 }

tlpAtsInputPhaseVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input voltage for a given phase."
    ::= { tlpAtsInputPhaseEntry 5 }

tlpAtsInputPhaseVoltageMin OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The minimum input voltage value since the last reset of this
        value for a given input line. If any value is written to either
        tlpAtsInputPhaseVoltageMin or tlpAtsInputPhaseVoltageMax using
        agent version below 20, both will be reset to their appropriate
        minimum and maximum values. Writes are deprecated as of agent
        version 20. Use tlpAtsControlResetInputVoltageMinMax to reset
        this value."
    ::= { tlpAtsInputPhaseEntry 6 }

tlpAtsInputPhaseVoltageMax OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum input voltage value since the last reset of this
        value for a given input line. If any value is written to either
        tlpAtsInputPhaseVoltageMin or tlpAtsInputPhaseVoltageMax using
        agent version below 20, both will be reset to their appropriate
        minimum and maximum values. Writes are deprecated as of agent
        version 20. Use tlpAtsControlResetInputVoltageMinMax to reset
        this value."
    ::= { tlpAtsInputPhaseEntry 7 }

tlpAtsInputPhaseCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input current for a given phase."
    ::= { tlpAtsInputPhaseEntry 8 }

tlpAtsInputPhasePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present input true power."
    ::= { tlpAtsInputPhaseEntry 9 }

tlpAtsInputPhaseThdVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The voltage thd (total harmonic distortion) for this phase in hundredths
        of a percent."
    ::= { tlpAtsInputPhaseEntry 10 }

tlpAtsOutputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output details of each ats in device table. This is a sparse
        dependent table, and will contain the number of entries based upon
        the value of tlpAtsIdentNumOutputs per each device."
    ::= { tlpAtsOutput 1 }

tlpAtsOutputEntry OBJECT-TYPE
    SYNTAX TlpAtsOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing output information applicable to a particular
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsOutputIndex }
    ::= { tlpAtsOutputTable 1 }

TlpAtsOutputEntry ::= SEQUENCE {
    tlpAtsOutputIndex               Unsigned32,
    tlpAtsOutputPhase               INTEGER,
    tlpAtsOutputPhaseType           INTEGER,
    tlpAtsOutputVoltage             Unsigned32,
    tlpAtsOutputCurrent             Unsigned32,
    tlpAtsOutputCurrentMin          Unsigned32,
    tlpAtsOutputCurrentMax          Unsigned32,
    tlpAtsOutputActivePower         Unsigned32,
    tlpAtsOutputPowerFactor         INTEGER,
    tlpAtsOutputSource              INTEGER,
    tlpAtsOutputFrequency           Unsigned32,
    tlpAtsOutputPowerKVA            Unsigned32,
    tlpAtsOutputPowerKW             Unsigned32,
    tlpAtsOutput24hrEnergy          Unsigned32,
    tlpAtsOutputApparentPower       Unsigned32,
    tlpAtsOutputReactivePower       Integer32,
    tlpAtsOutputUtilization         Unsigned32,
    tlpAtsOutputWattHours           Unsigned32,
    tlpAtsOutputPeakPower           Unsigned32 }

tlpAtsOutputIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ats phase."
    ::= { tlpAtsOutputEntry 1 }

tlpAtsOutputPhase OBJECT-TYPE
    SYNTAX INTEGER {
        phase1(1),
        phase2(2),
        phase3(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates the phase associated with the output line."
    ::= { tlpAtsOutputEntry 2 }

tlpAtsOutputPhaseType OBJECT-TYPE
    SYNTAX INTEGER {
        phaseToNeutral(0),
        phaseToPhase(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether measurements are phase to neutral(0) or phase
        to phase(1)."
    ::= { tlpAtsOutputEntry 3 }

tlpAtsOutputVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present output voltage for a given output line."
    ::= { tlpAtsOutputEntry 4 }

tlpAtsOutputCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output current, in hundredths of amps, for a given phase.
        The actual precision of this value, whether a whole number, tenths
        or hundredths, is returned by tlpAtsDeviceOutputCurrentPrecision."
    ::= { tlpAtsOutputEntry 5 }

tlpAtsOutputCurrentMin OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum current, in hundredths of amps, observed for a given phase
        since last reset. The actual precision of this value, whether a whole number,
        tenths or hundredths, is returned by tlpAtsDeviceOutputCurrentPrecision. Use
        tlpAtsControlResetOutputCurrentMinMax to reset this value."
    ::= { tlpAtsOutputEntry 6 }

tlpAtsOutputCurrentMax OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum current, in hundredths of amps, observed for a given phase
        since last reset. The actual precision of this value, whether a whole number,
        tenths or hundredths, is returned by tlpAtsDeviceOutputCurrentPrecision. Use
        tlpAtsControlResetOutputCurrentMinMax to reset this value."
    ::= { tlpAtsOutputEntry 7 }

tlpAtsOutputActivePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output true power for a given phase."
    ::= { tlpAtsOutputEntry 8 }

tlpAtsOutputPowerFactor OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output power factor ratio for a given phase."
    ::= { tlpAtsOutputEntry 9 }

tlpAtsOutputSource OBJECT-TYPE
    SYNTAX INTEGER {
        none(0),
        normal(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present source of output power. The enumeration none(0)
        indicates that there is no source of output power (and
        therefore no output power), for example, the ats has an open
        circuit breaker."
    ::= { tlpAtsOutputEntry 10 }

tlpAtsOutputFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output frequency. If not supported, the agent reports ERROR_NO_SUCH_NAME."
    ::= { tlpAtsOutputEntry 11 }

tlpAtsOutputPowerKVA OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KVA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of apparent power being used."
    ::= { tlpAtsOutputEntry 12 }

tlpAtsOutputPowerKW OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KW"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of active power being used."
    ::= { tlpAtsOutputEntry 13 }

tlpAtsOutput24hrEnergy OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption using present value
        of tlpAtsOutputPowerKW."
    ::= { tlpAtsOutputEntry 14 }

tlpAtsOutputApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of apparent power being used."
    ::= { tlpAtsOutputEntry 15 }

tlpAtsOutputReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The amount of reactive power being used."
    ::= { tlpAtsOutputEntry 16 }

tlpAtsOutputUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of the ats power capacity presently being used on
        this output line."
    ::= { tlpAtsOutputEntry 17 }

tlpAtsOutputWattHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpAtsControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpAtsOutputEntry 18 }

tlpAtsOutputPeakPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpAtsControlResetPeakPower to reset the peak power calculations."
    ::= { tlpAtsOutputEntry 19 }

tlpAtsOutletTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsOutletEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The receptacle status details of each ats in device table. This
        is a sparse dependent table, and will contain the number of entries
        based upon the value of tlpAtsIdentNumOutlets per each device."
    ::= { tlpAtsOutlet 1 }

tlpAtsOutletEntry OBJECT-TYPE
    SYNTAX TlpAtsOutletEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular outlet
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsOutletIndex }
    ::= { tlpAtsOutletTable 1 }

TlpAtsOutletEntry ::= SEQUENCE {
    tlpAtsOutletIndex                   Unsigned32,
    tlpAtsOutletName                    DisplayString,
    tlpAtsOutletDescription             DisplayString,
    tlpAtsOutletState                   INTEGER,
    tlpAtsOutletControllable            TruthValue,
    tlpAtsOutletCommand                 INTEGER,
    tlpAtsOutletVoltage                 Unsigned32,
    tlpAtsOutletCurrent                 Unsigned32,
    tlpAtsOutletActivePower             Unsigned32,
    tlpAtsOutletRampAction              INTEGER,
    tlpAtsOutletRampDelay               Integer32,
    tlpAtsOutletShedAction              INTEGER,
    tlpAtsOutletShedDelay               Integer32,
    tlpAtsOutletGroup                   Integer32,
    tlpAtsOutletBank                    Integer32,
    tlpAtsOutletCircuit                 Integer32,
    tlpAtsOutletPhase                   INTEGER,
    tlpAtsOutletReceptacleType          INTEGER,
    tlpAtsOutletPowerFactor             INTEGER,
    tlpAtsOutletApparentPower           Unsigned32,
    tlpAtsOutletReactivePower           Integer32,
    tlpAtsOutletFrequency               Unsigned32,
    tlpAtsOutletUtilization             Unsigned32,
    tlpAtsOutlet24hrEnergy              Unsigned32,
    tlpAtsOutletOvercurrent             TruthValue }

tlpAtsOutletIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ats outlet."
    ::= { tlpAtsOutletEntry 1 }

tlpAtsOutletName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-definable string identifying the name of the outlet."
    ::= { tlpAtsOutletEntry 2 }

tlpAtsOutletDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A user-definable string identifying the device(s) connected to
        the given outlet."
    ::= { tlpAtsOutletEntry 3 }

tlpAtsOutletState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the outlet."
    ::= { tlpAtsOutletEntry 4 }

tlpAtsOutletControllable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this outlet is controllable."
    ::= { tlpAtsOutletEntry 5 }

tlpAtsOutletCommand OBJECT-TYPE
    SYNTAX INTEGER {
        idle(0),
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value
        to turnOff(1) will turn off the outlet. Setting this value
        to turnOn(2) will turn on the outlet. Setting this value to
        cycle(3) will turn the outlet off, then turn it back on."
    ::= { tlpAtsOutletEntry 6 }

tlpAtsOutletVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The magnitude of the present output voltage for a given outlet.
        If the voltage measurement is not supported for an individual
        receptacle regardless whether device-wide or just for this
        receptacle, then this value will always return ERROR_NO_SUCH_NAME.
        Device-wide support for receptacle voltage measurements is denoted
        by tlpAtsSupportsOutletVoltage."
    ::= { tlpAtsOutletEntry 7 }

tlpAtsOutletCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present output current, in hundredths of amps, of a given outlet.
        If the current measurement is not supported for an individual
        receptacle regardless whether device-wide or just for this
        receptacle, then this value will always return ERROR_NO_SUCH_NAME.
        Device-wide support for receptacle current measurements is denoted
        by tlpAtsSupportsOutletCurrent."
    ::= { tlpAtsOutletEntry 8 }

tlpAtsOutletActivePower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output power of a given outlet. If the power measurement is
        not supported for an individual receptacle regardless whether
        device-wide or just for this receptacle, then this value will
        always return ERROR_NO_SUCH_NAME. Device-wide support for receptacle
        power measurements is denoted by tlpAtsSupportsOutletActivePower."
    ::= { tlpAtsOutletEntry 9 }

tlpAtsOutletRampAction OBJECT-TYPE
    SYNTAX INTEGER {
        remainOff(0),
        turnOnAfterDelay(1)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The ramp action to take on a given outlet when powering on the
        device. If this receptacle is not controllable, as denoted by
        tlpAtsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsOutletEntry 10 }

tlpAtsOutletRampDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of seconds to delay before powering on the given outlet.
        If this receptacle is not controllable, as denoted by
        tlpAtsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsOutletEntry 11 }

tlpAtsOutletShedAction OBJECT-TYPE
    SYNTAX INTEGER {
        remainOn(0),
        turnOffAfterDelay(1)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The shed action to take on a given outlet when powering off the
        device. If this receptacle is not controllable, as denoted by
        tlpAtsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsOutletEntry 12 }

tlpAtsOutletShedDelay OBJECT-TYPE
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of seconds to delay before powering off the given outlet.
        If this receptacle is not controllable, as denoted by
        tlpAtsOutletControllable, then this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsOutletEntry 13 }

tlpAtsOutletGroup OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The tlpAtsOutletGroupIndex group index of the respective group to
        which the given outlet is assigned, or zero (0) if the given
        outlet is not grouped."
    ::= { tlpAtsOutletEntry 14 }

tlpAtsOutletBank OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "This is reported as a bank number, but it is rather an internal
        number unrelated to a bank as silk-screened on many devices and is
        unrelated to and often confused with tlpAtsOutletCircuit. The value
        reported is of no commercial use and was deprecated in agent
        version 20."
    ::= { tlpAtsOutletEntry 15 }

tlpAtsOutletCircuit OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which circuit the given outlet is wired."
    ::= { tlpAtsOutletEntry 16 }

tlpAtsOutletPhase OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        phase1(1),
        phase2(2),
        phase3(3),
        phase1-2(4),
        phase2-3(5),
        phase3-1(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which phase or phases the given outlet is
        associated. For single phase devices, this object will
        always return phase1(1). For 3-phase devices with outlets
        wired to a single phase, this object will return phase1(1),
        phase2(2) or phase3(3). For 3-phase devices with outlets
        wired to two phases, this object will return phase1-2(4)
        for phases 1 and 2, phase2-3(5) for phases 2 and 3, and
        phase3-1(6) for phases 3 and 1. Devices that do not report
        phase connections will return unknown(0)."
    ::= { tlpAtsOutletEntry 17 }

tlpAtsOutletReceptacleType OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        nema-515R(1),
        nema-520R(2),
        nema-530R(3),
        nema-L515R(4),
        nema-L520R(5),
        nema-L530R(6),
        nema-L615R(7),
        nema-L620R(8),
        nema-L630R(9),
        nema-L1430R(10),
        nema-L1520R(11),
        nema-L1530R(12),
        nema-L2120R(13),
        nema-L2130R(14),
        nema-L2230R(15),
        iec-309-1620(16),
        iec-309-3032(17),
        iec-309-6063(18),
        iec-320-C13(19),
        iec-320-C14(20),
        iec-320-C15(21),
        iec-320-C17(22),
        iec-320-C19(23),
        iec-320-C20(24) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of receptacle for this outlet. Not all devices report
        receptacle types. The value will return unknown(0) when not supported."
    ::= { tlpAtsOutletEntry 18 }

tlpAtsOutletPowerFactor OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The power factor ratio for this outlet."
    ::= { tlpAtsOutletEntry 19 }

tlpAtsOutletApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The apparent power of this outlet."
    ::= { tlpAtsOutletEntry 20 }

tlpAtsOutletReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The reactive power of this outlet."
    ::= { tlpAtsOutletEntry 21 }

tlpAtsOutletFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The frequency of this outlet."
    ::= { tlpAtsOutletEntry 22 }

tlpAtsOutletUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of utilization of this outlet."
    ::= { tlpAtsOutletEntry 23 }

tlpAtsOutlet24hrEnergy OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 KWH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Estimated 24 hour power consumption of this outlet."
    ::= { tlpAtsOutletEntry 24 }

tlpAtsOutletOvercurrent OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Denotes whether this outlet is in an overcurrent condition."
    ::= { tlpAtsOutletEntry 25 }

tlpAtsOutletGroupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsOutletGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The receptacle grouping details of each ats in device table.
        This is a sparse dependent table, and will contain the number
        of entries based upon the value of tlpAtsIdentNumOutletGroups per
        each device."
    ::= { tlpAtsOutlet 2 }

tlpAtsOutletGroupEntry OBJECT-TYPE
    SYNTAX TlpAtsOutletGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular outlet
        group managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsOutletGroupIndex }
    ::= { tlpAtsOutletGroupTable 1 }

TlpAtsOutletGroupEntry ::= SEQUENCE {
    tlpAtsOutletGroupIndex              Unsigned32,
    tlpAtsOutletGroupRowStatus	        RowStatus,
    tlpAtsOutletGroupName               DisplayString,
    tlpAtsOutletGroupDescription        DisplayString,
    tlpAtsOutletGroupState              INTEGER,
    tlpAtsOutletGroupCommand            INTEGER }

tlpAtsOutletGroupIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ats outlet group."
    ::= { tlpAtsOutletGroupEntry 1 }

tlpAtsOutletGroupRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status for the tlpAtsOutletGroupTable"
    ::= { tlpAtsOutletGroupEntry 2 }

tlpAtsOutletGroupName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of this outlet group."
    ::= { tlpAtsOutletGroupEntry 3 }

tlpAtsOutletGroupDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A description for this outlet group."
    ::= { tlpAtsOutletGroupEntry 4 }

tlpAtsOutletGroupState OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        off(1),
        on(2),
        mixed(3) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the outlet group. This value will report
        off(1) if all outlets in the group are off, on(2) if all outlets
        in the group are on, mixed(3) if some outlets in the group are
        off and others are on, or unknown(0) if the state of the outlets
        cannot be determined."
    ::= { tlpAtsOutletGroupEntry 5 }

tlpAtsOutletGroupCommand OBJECT-TYPE
    SYNTAX INTEGER {
        turnOff(1),
        turnOn(2),
        cycle(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reading this value will always return 0. Setting this value to
        turnOff(1) will turn off every outlet associated with the group.
        Setting this value to turnOn(2) will turn on every outlet associated
        with the group. Setting this value to cycle(3) will turn off every
        outlet associated with the group, then turn each outlet back on."
    ::= { tlpAtsOutletGroupEntry 6 }

tlpAtsCircuitTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsCircuitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of ats circuit table entries.  The number of entries
        is given by the value of tlpAtsIdentNumCircuits."
    ::= { tlpAtsCircuit 1 }

tlpAtsCircuitEntry OBJECT-TYPE
    SYNTAX TlpAtsCircuitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular circuit
        managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsCircuitIndex }
    ::= { tlpAtsCircuitTable 1 }

TlpAtsCircuitEntry ::= SEQUENCE {
    tlpAtsCircuitIndex              Unsigned32,
    tlpAtsCircuitPhase              INTEGER,
    tlpAtsCircuitInputVoltage       Integer32,
    tlpAtsCircuitTotalCurrent       Integer32,
    tlpAtsCircuitCurrentLimit       Integer32,
    tlpAtsCircuitCurrentMin         Integer32,
    tlpAtsCircuitCurrentMax         Integer32,
    tlpAtsCircuitTotalPower         Integer32,
    tlpAtsCircuitPowerFactor        INTEGER,
    tlpAtsCircuitUtilization        Unsigned32,
    tlpAtsCircuitApparentPower      Unsigned32,
    tlpAtsCircuitReactivePower      Integer32,
    tlpAtsCircuitFrequency          Unsigned32,
    tlpAtsCircuitWattHours          Unsigned32,
    tlpAtsCircuitPeakPower          Unsigned32 }

tlpAtsCircuitIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ats circuit."
    ::= { tlpAtsCircuitEntry 1 }

tlpAtsCircuitPhase OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        phase1(1),
        phase2(2),
        phase3(3),
        phase1-2(4),
        phase2-3(5),
        phase3-1(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates on which phase or phases the given circuit is
        wired. For single phase devices, this object will always
        return phase1(1). For 3-phase devices with outlets wired
        to a single phase, this object will return phase1(1),
        phase2(2) or phase3(3). For 3-phase devices with outlets
        wired to two phases, this object will return phase1-2(4)
        for phases 1 and 2, phase2-3(5) for phases 2 and 3, and
        phase3-1(6) for phases 3 and 1. Devices that do not report
        phase connections will return unknown(0)."
    ::= { tlpAtsCircuitEntry 2 }

tlpAtsCircuitInputVoltage OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 Volts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The input voltage for a circuit."
    ::= { tlpAtsCircuitEntry 3 }

tlpAtsCircuitTotalCurrent OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total current for all receptacles in a given circuit."
    ::= { tlpAtsCircuitEntry 4 }

tlpAtsCircuitCurrentLimit OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current capacity of a circuit in the ats limited by
        the circuit breaker or wiring used in a given unit."
    ::= { tlpAtsCircuitEntry 5 }

tlpAtsCircuitCurrentMin OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The minimum total current for all receptacles in a given
        circuit since last reset."
    ::= { tlpAtsCircuitEntry 6 }

tlpAtsCircuitCurrentMax OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.01 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum total current for all receptacles in a given
        circuit since last reset."
    ::= { tlpAtsCircuitEntry 7 }

tlpAtsCircuitTotalPower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total power for all receptacles in a given circuit."
    ::= { tlpAtsCircuitEntry 8 }

tlpAtsCircuitPowerFactor OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "0.01"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The power factor ratio for all receptacles in a given circuit."
    ::= { tlpAtsCircuitEntry 9 }

tlpAtsCircuitUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.01 percent"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The percentage of utilization of a given circuit. This is typically
        a calculation of tlpAtsCircuitTotalCurrent / tlpAtsCircuitCurrentLimit."
    ::= { tlpAtsCircuitEntry 10 }

tlpAtsCircuitApparentPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "VA"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The apparent power of a given circuit."
    ::= { tlpAtsCircuitEntry 11 }

tlpAtsCircuitReactivePower OBJECT-TYPE
    SYNTAX Integer32
    UNITS "VAR"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The reactive power of a given circuit."
    ::= { tlpAtsCircuitEntry 12 }

tlpAtsCircuitFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The frequency of a given circuit."
    ::= { tlpAtsCircuitEntry 13 }

tlpAtsCircuitWattHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "WH"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of watt hours of energy utilized in the past 24 hours. Use
        tlpAtsControlResetWattHours to reset the watt hours calculation algorithm."
    ::= { tlpAtsCircuitEntry 14 }

tlpAtsCircuitPeakPower OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Watts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum 1 second average power value since the last reset. Use
        tlpAtsControlResetPeakPower to reset the peak power calculations."
    ::= { tlpAtsCircuitEntry 15 }

tlpAtsBreakerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsBreakerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of ats circuit breaker table entries. The number of entries
        is given by the value of tlpAtsIdentNumBreakers."
    ::= { tlpAtsBreaker 1 }

tlpAtsBreakerEntry OBJECT-TYPE
    SYNTAX TlpAtsBreakerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular circuit
        breaker managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsBreakerIndex }
    ::= { tlpAtsBreakerTable 1 }

TlpAtsBreakerEntry ::= SEQUENCE {
    tlpAtsBreakerIndex          Unsigned32,
    tlpAtsBreakerStatus         INTEGER }

tlpAtsBreakerIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ats circuit breaker."
    ::= { tlpAtsBreakerEntry 1 }

tlpAtsBreakerStatus OBJECT-TYPE
    SYNTAX INTEGER {
        open(0),
        closed(1),
        notInstalled(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the circuit breaker is open(0), closed(1) or not
        installed(2)."
    ::= { tlpAtsBreakerEntry 2 }

tlpAtsHeatsinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsHeatsinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of ats heatsink thermistor table entries. The number of entries
        is given by the value of tlpAtsIdentNumHeatsinks."
    ::= { tlpAtsHeatsink 1 }

tlpAtsHeatsinkEntry OBJECT-TYPE
    SYNTAX TlpAtsHeatsinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular heatsink
        thermistor managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsHeatsinkIndex }
    ::= { tlpAtsHeatsinkTable 1 }

TlpAtsHeatsinkEntry ::= SEQUENCE {
    tlpAtsHeatsinkIndex             Unsigned32,
    tlpAtsHeatsinkStatus            INTEGER,
    tlpAtsHeatsinkTemperatureC      Integer32,
    tlpAtsHeatsinkTemperatureF      Integer32 }

tlpAtsHeatsinkIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the ats heatsink thermistor."
    ::= { tlpAtsHeatsinkEntry 1 }

tlpAtsHeatsinkStatus OBJECT-TYPE
    SYNTAX INTEGER {
        notAvailable(0),
        available(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the heatsink thermistor is available. The entry
        will return notAvailable(0) if a thermistor is either non-existent or
        disconnected, or available(1) when connected."
    ::= { tlpAtsHeatsinkEntry 2 }

tlpAtsHeatsinkTemperatureC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at the heatsink thermistor in tenths degrees Celsius.
        Heatsink temperature measurements are not supported on all models. If
        not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsHeatsinkEntry 3 }

tlpAtsHeatsinkTemperatureF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature at the heatsink thermistor in tenths degrees Fahrenheit.
        Heatsink temperature measurements are not supported on all models. If
        not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsHeatsinkEntry 4 }

tlpAtsControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable controls for each ats in device table. This is a
        sparse dependent table, and will contain some subset of devices
        that are atss."
    ::= { tlpAtsControl 1 }

tlpAtsControlEntry OBJECT-TYPE
    SYNTAX TlpAtsControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing controls for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsControlTable 1 }

TlpAtsControlEntry ::= SEQUENCE {
    tlpAtsControlRamp                   TruthValue,
    tlpAtsControlShed                   TruthValue,
    tlpAtsControlOn                     TruthValue,
    tlpAtsControlOff                    TruthValue,
    tlpAtsControlRestart                TruthValue,
    tlpAtsControlResetGeneralFault      TruthValue,
    tlpAtsControlResetWattHours         TruthValue,
    tlpAtsControlResetPeakPower         TruthValue,
    tlpAtsControlClearEventLog          TruthValue }

tlpAtsControlRamp OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate the pre-designated ramp
        sequence on the ats."
    ::= { tlpAtsControlEntry 1 }

tlpAtsControlShed OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to initiate the pre-designated shed
        sequence on the ats."
    ::= { tlpAtsControlEntry 2 }

tlpAtsControlOn OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the ats on."
    ::= { tlpAtsControlEntry 3 }

tlpAtsControlOff OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the ats off."
    ::= { tlpAtsControlEntry 4 }

tlpAtsControlRestart OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to restart the ats."
    ::= { tlpAtsControlEntry 5 }

tlpAtsControlResetGeneralFault OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the general fault alarm indicated by
        tlpAtsDeviceGeneralFault."
    ::= { tlpAtsControlEntry 6 }

tlpAtsControlResetWattHours OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the tlpAtsDeviceWattHoursTotal, tlpAtsOutputWattHours
        and tlpAtsCircuitWattHours calculation algorithms."
    ::= { tlpAtsControlEntry 7 }

tlpAtsControlResetPeakPower OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset the tlpAtsCircuitPeakPower and tlpAtsOutputPeakPower
        calculation algorithms."
    ::= { tlpAtsControlEntry 8 }

tlpAtsControlClearEventLog OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to clear the event log retained by the ats."
    ::= { tlpAtsControlEntry 9 }

tlpAtsControlOutputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsControlOutputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable output phase-specific controls for each ats in device
        table. This is a sparse dependent table, and will contain some subset of
        devices that are atss."
    ::= { tlpAtsControl 2 }

tlpAtsControlOutputPhaseEntry OBJECT-TYPE
    SYNTAX TlpAtsControlOutputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular output
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsOutputIndex }
    ::= { tlpAtsControlOutputPhaseTable 1 }

TlpAtsControlOutputPhaseEntry ::= SEQUENCE {
    tlpAtsControlResetOutputCurrentMinMax       TruthValue }

tlpAtsControlResetOutputCurrentMinMax OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpAtsOutputCurrentMin and tlpAtsOutputCurrentMax
        to their appropriate minimum and maximum values. This value will return
        ERROR_NO_SUCH_NAME if not supported."
    ::= { tlpAtsControlOutputPhaseEntry 1 }

tlpAtsControlInputPhaseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsControlInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable input phase-specific controls for each ups in device
        table. This is a sparse dependent table, and will contain some subset of
        devices that are upss."
    ::= { tlpAtsControl 3 }

tlpAtsControlInputPhaseEntry OBJECT-TYPE
    SYNTAX TlpAtsControlInputPhaseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsInputPhaseIndex }
    ::= { tlpAtsControlInputPhaseTable 1 }

TlpAtsControlInputPhaseEntry ::= SEQUENCE {
    tlpAtsControlResetInputVoltageMinMax        TruthValue }

tlpAtsControlResetInputVoltageMinMax OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to reset tlpAtsInputPhaseVoltageMin and tlpAtsInputPhaseVoltageMax
        to their appropriate minimum and maximum values. Resetting the minimum and maximum
        values for one phase on some devices will reset the values for all phases. Resetting
        values for a phase will reset that value or values for both input sources. This
        value will return ERROR_NO_SUCH_NAME if not supported."
    ::= { tlpAtsControlInputPhaseEntry 1 }

tlpAtsConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each ats in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are atss. Not all options are available on all
        atss."
    ::= { tlpAtsConfig 1 }

tlpAtsConfigEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configuration options for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsConfigTable 1 }

TlpAtsConfigEntry ::= SEQUENCE {
    tlpAtsConfigInputVoltage                    Unsigned32,
    tlpAtsConfigSourceSelect                    INTEGER,
    tlpAtsConfigSource1ReturnTime               Unsigned32,
    tlpAtsConfigSource2ReturnTime               Unsigned32,
    tlpAtsConfigAutoRampOnTransition            INTEGER,
    tlpAtsConfigAutoShedOnTransition            INTEGER,
    tlpAtsConfigIsoBreakerSetting               INTEGER,
    tlpAtsConfigRelayCalibrationSetting         INTEGER,
    tlpAtsConfigThdSetting                      INTEGER,
    tlpAtsConfigWaveformCaptureSetting          INTEGER,
    tlpAtsConfigRemoteResetSetting              INTEGER }

tlpAtsConfigInputVoltage OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal value of the input line voltage. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME. This value may not be writable on all models. If
        not writable, the value will be rejected and an appropriate error
        message will be returned."
    ::= { tlpAtsConfigEntry 1 }

tlpAtsConfigSourceSelect OBJECT-TYPE
    SYNTAX INTEGER {
        inputSourceA(1),
        inputSourceB(2) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The determination as to which of two AC input lines is designated
        as the primary input source. The other is designated as the
        secondary input source. This value will always return inputSourceA(1)
        for devices with a single input source. Setting this value is
        supported only on selected models."
    ::= { tlpAtsConfigEntry 2 }

tlpAtsConfigSource1ReturnTime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal time to delay a transition to Source 1, if it is the
        preferred source."
    ::= { tlpAtsConfigEntry 3 }

tlpAtsConfigSource2ReturnTime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The nominal time to delay a transition to Source 2, if it is the
        preferred source."
    ::= { tlpAtsConfigEntry 4 }

tlpAtsConfigAutoRampOnTransition OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled(1), the ats should perform its preconfigured ramp sequence when
        the input source transfers from its designated secondary source to its
        designated primary source. This value not supported on all ats devices. If not
        supported, then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigEntry 5 }

tlpAtsConfigAutoShedOnTransition OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled(1), the ats should perform its preconfigured shed sequence when
        the input source transfers from its designated primary source to its designated
        secondary source. This value not supported on all ats devices. If not supported,
        then this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigEntry 6 }

tlpAtsConfigIsoBreakerSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(4) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IsoBreaker feature uses software to eliminate the cause
        of an overcurrent before the circuit break trips. If a specific outlet
        has an overcurrent, this outlet is probably the cause, and this outlet
        should be turned off. This setting specifies the method by which the
        ats turns off outlets to correct overcurrent."
    ::= { tlpAtsConfigEntry 7 }

tlpAtsConfigRelayCalibrationSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether to automatically self-calibrate the relays on the
        device."
    ::= { tlpAtsConfigEntry 8 }

tlpAtsConfigThdSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether the total harmonic distortion features on the device are
        enabled."
    ::= { tlpAtsConfigEntry 9 }

tlpAtsConfigWaveformCaptureSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether the device will capture waveforms to associate with
        logged events."
    ::= { tlpAtsConfigEntry 10 }

tlpAtsConfigRemoteResetSetting OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines whether the LX Card can be remotely reset via a Wake-On-LAN (WOL)
        packet."
    ::= { tlpAtsConfigEntry 11 }

tlpAtsConfigVoltageRangeOldTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigVoltageRangeOldEntry
    MAX-ACCESS not-accessible
    STATUS obsolete
    DESCRIPTION
        "The voltage range options in this table is intended to configure the
        operating voltages of an ats. This is a sparse dependent table, and will
        contain some subset of devices that are atss. All voltage points defined
        in this table are listed in a specific order from high to low. All voltage
        points must satisfy the conditions and ranges defined for each point. Any
        point violating any of the relative limits will be rejected.

        For optimal operation, it is recommended that tlpAtsConfigHighVoltageReset
        be set lower than tlpAtsConfigHighVoltageTransfer by a margin no less than 1%
        of tlpAtsConfigHighVoltageTransfer; and that tlpAtsConfigSource1TransferReset
        (tlpAtsConfigSource2TransferReset) be set higher than
        tlpAtsConfigSource1BrownoutSet (tlpAtsConfigSource2BrownoutSet) by a margin no
        less than 1% of tlpAtsConfigSource1BrownoutSet (tlpAtsConfigSource2BrownoutSet).

        *The upper limit of line voltage is tlpAtsInputHighTransferVoltageUpperBound.
        The lower limit of line voltage is tlpAtsInputLowTransferVoltageLowerBound. All
        minimum and maximum limits for each voltage point are all exclusive unless
        indicated otherwise.

        This table in its entirety is obsolete and replaced by tlpAtsConfigVoltageRangeTable."
    ::= { tlpAtsConfig 2 }

tlpAtsConfigVoltageRangeOldEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigVoltageRangeOldEntry
    MAX-ACCESS not-accessible
    STATUS obsolete
    DESCRIPTION
        "An entry containing voltage range configuration options for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsConfigVoltageRangeOldTable 1 }

TlpAtsConfigVoltageRangeOldEntry ::= SEQUENCE {
    tlpAtsConfigHighVoltageTransferOld     Unsigned32,
    tlpAtsConfigHighVoltageResetOld        Unsigned32,
    tlpAtsConfigSource1TransferResetOld    Unsigned32,
    tlpAtsConfigSource1BrownoutSetOld      Unsigned32,
    tlpAtsConfigSource1TransferSetOld      Unsigned32,
    tlpAtsConfigSource2TransferResetOld    Unsigned32,
    tlpAtsConfigSource2BrownoutSetOld      Unsigned32,
    tlpAtsConfigSource2TransferSetOld      Unsigned32,
    tlpAtsConfigLowVoltageResetOld         Unsigned32,
    tlpAtsConfigLowVoltageTransferOld      Unsigned32 }

tlpAtsConfigHighVoltageTransferOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "The maximum line voltage allowed before the unit disconnects the
        AC input connection. The maximum value allowed is dictated by
        tlpAtsInputHighTransferVoltageUpperBound (inclusively). The minimum
        value allowed is dictated by tlpAtsConfigHighVoltageResetOld. This value
        may not be configurable on all models. If not supported, this value will
        return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 1 }

tlpAtsConfigHighVoltageResetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "If a unit is disconnected due to over-voltage, the line voltage has to
        fall below this value before the unit re-connects the AC input connection.
        The maximum value allowed is dictated by tlpAtsConfigHighVoltageTransferOld.
        The minimum value allowed is dictated by the greater of
        tlpAtsConfigSource1TransferResetOld and tlpAtsConfigSource2TransferResetOld. If
        not supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 2 }

tlpAtsConfigSource1TransferResetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "If input source 1 voltage level is above this value, a unit connected to
        source 2 will transition to source 1 (if it is the preferred source). The
        maximum value allowed is dictated by tlpAtsConfigHighVoltageResetOld. The
        minimum value allowed is dictated by tlpAtsConfigSource1BrownoutSetOld. If not
        supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 3 }

tlpAtsConfigSource1BrownoutSetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This value dictates the voltage level below which source 1 goes into a
        brown out condition. The maximum value allowed is dictated by
        tlpAtsConfigSource1TransferResetOld. The minimum value allowed is dictated by
        tlpAtsConfigSource1TransferSetOld. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 4 }

tlpAtsConfigSource1TransferSetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "If input source 1 voltage level falls below this value, a unit connected to
        source 1 will transition to source 2 (if it is in fair condition as denoted
        by tlpAtsConfigSource2TransferSetOld). The maximum value allowed is dictated by
        tlpAtsConfigSource1BrownoutSetOld. The minimum value allowed is dictated by
        tlpAtsConfigLowVoltageResetOld. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 5 }

tlpAtsConfigSource2TransferResetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "If input source 2 voltage level is above this value, a unit connected to
        source 1 will transition to source 2 (if it is the preferred source). The
        maximum value allowed is dictated by tlpAtsConfigHighVoltageResetOld. The
        minimum value allowed is dictated by tlpAtsConfigSource2BrownoutSetOld. If not
        supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 6 }

tlpAtsConfigSource2BrownoutSetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This value dictates the voltage level below which source 2 goes into a
        brown out condition. The maximum value allowed is dictated by
        tlpAtsConfigSource2TransferResetOld. The minimum value allowed is dictated by
        tlpAtsConfigSource2TransferSetOld. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 7 }

tlpAtsConfigSource2TransferSetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "If input source 2 voltage level falls below this value, a unit connected to
        source 2 will transition to source 1 (if it is in fair condition as denoted
        by tlpAtsConfigSource1TransferSetOld). The maximum value allowed is dictated by
        tlpAtsConfigSource2BrownoutSetOld. The minimum value allowed is dictated by
        tlpAtsConfigLowVoltageResetOld. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 8 }

tlpAtsConfigLowVoltageResetOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "If a unit is disconnected due to under-voltage or is not powered up yet, the
        line voltage has to rise above this value before the unit gets connected to
        the AC input connection. The maximum value allowed is dictated by the lesser
        value of tlpAtsConfigSource1TransferSetOld and tlpAtsConfigSource2TransferSetOld.
        The minimum value allowed is dictated by tlpAtsConfigLowVoltageTransferOld. If
        not supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 9 }

tlpAtsConfigLowVoltageTransferOld OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "The minimum line voltage allowed before the unit disconnects the
        AC input connection. The maximum value allowed is dictated by
        tlpAtsConfigLowVoltageResetOld. The minimum value allowed is dictated by
        tlpAtsInputLowTransferVoltageLowerBound (inclusively). If not supported, this
        value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeOldEntry 10 }

tlpAtsConfigVoltageRangeLimitsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigVoltageRangeLimitsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The voltage range table, as documented by tlpAtsConfigVoltageRangeTable requires
        that all changes adhere with stack order, from high transfer voltage down to low
        transfer voltage. In addition to stack order, certain voltage range values have
        limits defining the absolute minimum and absolute maximum for such values. Any
        voltage value violating any respective limit defined herein will be rejected."
    ::= { tlpAtsConfig 3 }

tlpAtsConfigVoltageRangeLimitsEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigVoltageRangeLimitsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing voltage range limits configuration options for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsConfigVoltageRangeLimitsTable 1 }

TlpAtsConfigVoltageRangeLimitsEntry ::= SEQUENCE {
    tlpAtsConfigSourceBrownoutSetMinimum    Unsigned32,
    tlpAtsConfigSourceBrownoutSetMaximum    Unsigned32,
    tlpAtsConfigSourceTransferSetMinimum    Unsigned32,
    tlpAtsConfigSourceTransferSetMaximum    Unsigned32 }

tlpAtsConfigSourceBrownoutSetMinimum OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value dictates the absolute lower limit by which tlpAtsConfigSource1BrownoutSet
        and tlpAtsConfigSource2BrownoutSet can be set. tlpAtsConfigSource1TransferSet and
        tlpAtsConfigSource2TransferSet, respectively, are also used when determining the
        lowest value a brownout value can be set at any given time. If not supported, this
        value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeLimitsEntry 1 }

tlpAtsConfigSourceBrownoutSetMaximum OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value dictates the absolute upper limit by which tlpAtsConfigSource1BrownoutSet
        and tlpAtsConfigSource2BrownoutSet can be set. tlpAtsConfigSource1TransferReset and
        tlpAtsConfigSource2TransferReset, respectively, are also used when determining the
        greatest value a brownout value can be set at any given time. If not supported, this
        value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeLimitsEntry 2 }

tlpAtsConfigSourceTransferSetMinimum OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value dictates the absolute lower limit by which tlpAtsConfigSource1TransferSet
        and tlpAtsConfigSource2TransferSet can be set. tlpAtsConfigLowVoltageReset is also
        used when determining the lowest value a transferset value can be set at any given
        time. If not supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeLimitsEntry 3 }

tlpAtsConfigSourceTransferSetMaximum OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value dictates the absolute upper limit by which tlpAtsConfigSource1TransferSet
        and tlpAtsConfigSource2TransferSet can be set. tlpAtsConfigSource1BrownoutSet and
        tlpAtsConfigSource2BrownoutSet, respectively, are also used when determining the
        greatest value a transferset value can be set at any given time. If not supported,
        this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeLimitsEntry 4 }

tlpAtsConfigThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configurable threshold options of each ats in device table. This
        is a sparse dependent table, and will contain some subset of devices that
        are atss. Not all options are available on all atss."
    ::= { tlpAtsConfig 4 }

tlpAtsConfigThresholdEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing configurable threshold options for a particular ats."
    INDEX { tlpDeviceIndex }
    ::= { tlpAtsConfigThresholdTable 1 }

TlpAtsConfigThresholdEntry ::= SEQUENCE {
    tlpAtsConfigOutputCurrentThreshold          Unsigned32,
    tlpAtsConfigOverTemperatureThreshold        Unsigned32,
    tlpAtsConfigOverVoltageThreshold            Unsigned32,
    tlpAtsConfigOverLoadThreshold               Unsigned32,
    tlpAtsConfigThdOutOfRangeThreshold          Unsigned32 }

tlpAtsConfigOutputCurrentThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The output current measurement at which an over current condition is reported.
        This value may not be supported on all models. If not supported, this value
        will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigThresholdEntry 1 }

tlpAtsConfigOverTemperatureThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The device temperature at which an over temperature condition is reported.
        This value may not be supported on all models. If not supported, this value
        will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigThresholdEntry 2 }

tlpAtsConfigOverVoltageThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The input voltage measurement at which an over voltage condition is reported.
        This value may not be supported on all models. If not supported, this value
        will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigThresholdEntry 3 }

tlpAtsConfigOverLoadThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The device load at which an overload condition is reported. This value may not
        be supported on all models. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigThresholdEntry 4 }

tlpAtsConfigThdOutOfRangeThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (1..9999)
    UNITS "0.01 percent"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Denotes the percentage of THD voltage in hundredths of a percent at which
        the THD voltage out of range condition occurs. The out of range condition,
        tlpAtsAlarmThdOutOfRange, is triggered when the THD voltage exceeds this
        value."
    ::= { tlpAtsConfigThresholdEntry 5 }

tlpAtsConfigVoltageRangeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigVoltageRangeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The voltage range options in this table is intended to configure the
        operating voltages of an ats. This is a sparse dependent table, and will
        contain some subset of devices that are atss. All voltage points defined
        in this table are listed in a specific order from high to low. All voltage
        points must satisfy the conditions and ranges defined for each point. Any
        point violating any of the relative limits will be rejected.

        For optimal operation, it is recommended that tlpAtsConfigHighVoltageReset
        be set lower than tlpAtsConfigHighVoltageTransfer by a margin no less than 1%
        of tlpAtsConfigHighVoltageTransfer; and that tlpAtsConfigSource1TransferReset
        (tlpAtsConfigSource2TransferReset) be set higher than
        tlpAtsConfigSource1BrownoutSet (tlpAtsConfigSource2BrownoutSet) by a margin no
        less than 1% of tlpAtsConfigSource1BrownoutSet (tlpAtsConfigSource2BrownoutSet).

        *The upper limit of line voltage is tlpAtsInputHighTransferVoltageUpperBound.
        The lower limit of line voltage is tlpAtsInputLowTransferVoltageLowerBound. All
        minimum and maximum limits for each voltage point are all exclusive unless
        indicated otherwise."
    ::= { tlpAtsConfig 5 }

tlpAtsConfigVoltageRangeEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigVoltageRangeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing voltage range configuration options for a particular ats."
    INDEX { tlpDeviceIndex, tlpAtsInputLineIndex }
    ::= { tlpAtsConfigVoltageRangeTable 1 }

TlpAtsConfigVoltageRangeEntry ::= SEQUENCE {
    tlpAtsConfigHighVoltageTransfer      Unsigned32,
    tlpAtsConfigHighVoltageReset         Unsigned32,
    tlpAtsConfigTransferReset            Unsigned32,
    tlpAtsConfigBrownoutSet              Unsigned32,
    tlpAtsConfigTransferSet              Unsigned32,
    tlpAtsConfigLowVoltageReset          Unsigned32,
    tlpAtsConfigLowVoltageTransfer       Unsigned32 }

tlpAtsConfigHighVoltageTransfer OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum line voltage allowed on the input source before the unit
        disconnects the AC input connection. tlpAtsConfigHighVoltageTransfer is the
        same value for both input sources on some units. On such units, changing
        this value on one source will change the value on the other source. The
        maximum value allowed is dictated by tlpAtsInputHighTransferVoltageUpperBound
        (inclusively). The minimum value allowed is dictated by tlpAtsConfigHighVoltageReset.
        This value may not be configurable on all models. If not supported, this value will
        return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 1 }

tlpAtsConfigHighVoltageReset OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If an input connection is disconnected due to over-voltage, the line voltage
        on the input source has to fall below this value before the unit re-connects
        the AC input connection for the input source. tlpAtsConfigHighVoltageReset is the
        same value for both input sources on some units. On such units, changing this
        value on one source will change the value on the other source. The maximum value
        allowed is dictated by tlpAtsConfigHighVoltageTransfer. On units where this is
        the same value for both sources, the minimum value allowed is dictated by the
        greater of tlpAtsConfigTransferReset.1 and tlpAtsConfigTransferReset.2. On units
        where the value is distinct for each source, the minimum value allowed is
        dictated solely by this source's tlpAtsConfigTransferReset. If not supported,
        this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 2 }

tlpAtsConfigTransferReset OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If input source voltage level is above this value, a unit connected to
        this other input source will transition to this input source (if it is the
        preferred source). The maximum value allowed is dictated by
        tlpAtsConfigHighVoltageReset. The minimum value allowed is dictated by
        tlpAtsConfigBrownoutSet. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 3 }

tlpAtsConfigBrownoutSet OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value dictates the voltage level below which the input source goes
        into a brown out condition. The maximum value allowed is dictated by
        tlpAtsConfigTransferReset. The minimum value allowed is dictated by
        tlpAtsConfigTransferSet. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 4 }

tlpAtsConfigTransferSet OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If input source voltage level falls below this value, a unit connected to
        this input source will transition to other input source (if it is in fair
        condition as denoted by tlpAtsConfigTransferSet). The maximum value allowed
        is dictated by tlpAtsConfigBrownoutSet. The minimum value allowed is dictated
        by tlpAtsConfigLowVoltageReset. If not supported, this value will return
        ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 5 }

tlpAtsConfigLowVoltageReset OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If a unit is disconnected due to under-voltage or is not powered up yet, the
        line voltage has to rise above this value before the unit gets connected to
        the AC input connection. tlpAtsConfigLowVoltageReset is the same value for both
        input sources. As such, changing this value on one source will change the value
        on the other source. The maximum value allowed is dictated by the lesser value
        of tlpAtsConfigTransferSet.1 and tlpAtsConfigTransferSet.2. The minimum value
        allowed is dictated by tlpAtsConfigLowVoltageTransfer. If not supported, this
        value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 6 }

tlpAtsConfigLowVoltageTransfer OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The minimum line voltage allowed before the unit disconnects the AC input
        connection. tlpAtsConfigLowVoltageTransfer is the same value for both input
        sources. As such, changing this value on one source will change the value on the
        other source. The maximum value allowed is dictated by tlpAtsConfigLowVoltageReset.
        The minimum value allowed is dictated by tlpAtsInputLowTransferVoltageLowerBound
        (inclusively). If not supported, this value will return ERROR_NO_SUCH_NAME."
    ::= { tlpAtsConfigVoltageRangeEntry 7 }

tlpAtsConfigOutputPhaseThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigOutputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration options of each ats in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are atss. Not all options are available on all
        atss."
    ::= { tlpAtsConfig 6 }

tlpAtsConfigOutputPhaseThresholdEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigOutputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing threshold configuration options for a particular ats."
    INDEX { tlpDeviceIndex, tlpAtsOutputIndex }
    ::= { tlpAtsConfigOutputPhaseThresholdTable 1 }

TlpAtsConfigOutputPhaseThresholdEntry ::= SEQUENCE {
    tlpAtsConfigOutputCurrentThresholdTolerance     Unsigned32,
    tlpAtsConfigOutputCurrentHighThreshold          Unsigned32,
    tlpAtsConfigOutputCurrentLowThreshold           Unsigned32,
    tlpAtsConfigOutputVoltageThresholdTolerance     Unsigned32,
    tlpAtsConfigOutputVoltageHighCriticalThreshold  Unsigned32,
    tlpAtsConfigOutputVoltageHighWarningThreshold   Unsigned32,
    tlpAtsConfigOutputVoltageLowWarningThreshold    Unsigned32,
    tlpAtsConfigOutputVoltageLowCriticalThreshold   Unsigned32 }

tlpAtsConfigOutputCurrentThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output current high/low
        threshold to evaluate output current high/low condition."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 1 }

tlpAtsConfigOutputCurrentHighThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which an output current high condition is declared."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 2 }

tlpAtsConfigOutputCurrentLowThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which an output current low condition is declared."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 3 }

tlpAtsConfigOutputVoltageThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output voltage high/low
        threshold to evaluate output voltage high/low condition."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 4 }

tlpAtsConfigOutputVoltageHighCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage high critical condition is declared."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 5 }

tlpAtsConfigOutputVoltageHighWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage high warning condition is declared."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 6 }

tlpAtsConfigOutputVoltageLowWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage low warning condition is declared."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 7 }

tlpAtsConfigOutputVoltageLowCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the output voltage low critical condition is declared."
    ::= { tlpAtsConfigOutputPhaseThresholdEntry 8 }

tlpAtsConfigInputPhaseThresholdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAtsConfigInputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input phase configuration details for each ats in device table.
        This is a sparse dependent table, and will contain the number of
        entries based on the number of atss managed by the agent as reported
        by tlpAtsIdentNumAts and tlpAtsIdentNumPhases. Not all options are
        available on all atss."
    ::= { tlpAtsConfig 7 }

tlpAtsConfigInputPhaseThresholdEntry OBJECT-TYPE
    SYNTAX TlpAtsConfigInputPhaseThresholdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information applicable to a particular input
        phase managed by this agent."
    INDEX { tlpDeviceIndex, tlpAtsInputLineIndex, tlpAtsInputPhaseIndex }
    ::= { tlpAtsConfigInputPhaseThresholdTable 1 }

TlpAtsConfigInputPhaseThresholdEntry ::= SEQUENCE {
    tlpAtsConfigInputVoltageThresholdTolerance      Unsigned32,
    tlpAtsConfigInputVoltageHighCriticalThreshold   Unsigned32,
    tlpAtsConfigInputVoltageHighWarningThreshold    Unsigned32,
    tlpAtsConfigInputVoltageLowWarningThreshold     Unsigned32,
    tlpAtsConfigInputVoltageLowCriticalThreshold    Unsigned32 }

tlpAtsConfigInputVoltageThresholdTolerance OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The threshold tolerance value used together with output voltage high/low
        threshold to evaluate output voltage high/low condition."
    ::= { tlpAtsConfigInputPhaseThresholdEntry 1 }

tlpAtsConfigInputVoltageHighCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage high critical condition is declared."
    ::= { tlpAtsConfigInputPhaseThresholdEntry 2 }

tlpAtsConfigInputVoltageHighWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage high warning condition is declared."
    ::= { tlpAtsConfigInputPhaseThresholdEntry 3 }

tlpAtsConfigInputVoltageLowWarningThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage low warning condition is declared."
    ::= { tlpAtsConfigInputPhaseThresholdEntry 4 }

tlpAtsConfigInputVoltageLowCriticalThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Volts"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value at which the input voltage low critical condition is declared."
    ::= { tlpAtsConfigInputPhaseThresholdEntry 5 }

-- cooling

tlpCoolingIdentNumCooling OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of cooling devices that this agent is currently managing."
    ::= { tlpCoolingIdent 1 }

tlpCoolingCurrentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingCurrentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The input current for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by tlpCoolingIdentNumCooling."
    ::= { tlpCoolingDetail 3 }

tlpCoolingCurrentEntry OBJECT-TYPE
    SYNTAX TlpCoolingCurrentEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing input current for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingCurrentTable 1 }

TlpCoolingCurrentEntry ::= SEQUENCE {
    tlpCoolingUnitCurrent            Unsigned32,
    tlpCoolingCompressorCurrent      Unsigned32,
    tlpCoolingEvaporatorFanCurrent   Unsigned32,
    tlpCoolingCondenserFanCurrent    Unsigned32 }

tlpCoolingUnitCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total current draw of the unit in tenths of Amps. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingCurrentEntry 1 }

tlpCoolingCompressorCurrent  OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The compressor current draw of the unit in tenths of Amps. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingCurrentEntry 2 }

tlpCoolingEvaporatorFanCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current draw of the evaporator fan in tenths of Amps. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingCurrentEntry 3 }

tlpCoolingCondenserFanCurrent OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Amps"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current draw of the condenser fan in tenths of Amps. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingCurrentEntry 4 }

tlpCoolingTemperatureFahrenheitTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingTemperatureFahrenheitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The temperature details for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by tlpCoolingIdentNumCooling."
    ::= {  tlpCoolingTemperature 1 }

tlpCoolingTemperatureFahrenheitEntry OBJECT-TYPE
    SYNTAX TlpCoolingTemperatureFahrenheitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing temperature details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingTemperatureFahrenheitTable 1 }

TlpCoolingTemperatureFahrenheitEntry ::= SEQUENCE {
    tlpCoolingAmbientDegF            Integer32,
    tlpCoolingSupplyAirDegF          Integer32,
    tlpCoolingReturnAirDegF          Integer32,
    tlpCoolingCondenserInletDegF     Integer32,
    tlpCoolingEvaporatorDegF         Integer32,
    tlpCoolingSuctionDegF            Integer32,
    tlpCoolingRemoteDegF             Integer32,
    tlpCoolingCondenserOutletDegF    Integer32}

tlpCoolingAmbientDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ambient temperature in tenths degrees Fahrenheit. If not supported,
        this value will always return ERROR_NO_SUCH_NAME. Support was deprecated
        in agent versions 20 and later and superseded by tlpCoolingReturnAirDegF."
    ::= { tlpCoolingTemperatureFahrenheitEntry 1 }

tlpCoolingSupplyAirDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air supplied to the room in tenths degrees Fahrenheit.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 2 }

tlpCoolingReturnAirDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air entering the cooling unit in tenths degrees Fahrenheit.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 3 }

tlpCoolingCondenserInletDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air entering the condenser in tenths degrees Fahrenheit.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 4 }

tlpCoolingEvaporatorDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the evaporator surface in tenths degrees Fahrenheit.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 5 }

tlpCoolingSuctionDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the low pressure refrigerant line in tenths degrees Fahrenheit.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 6 }

tlpCoolingRemoteDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The external remote temperature in tenths degrees Fahrenheit. If not supported,
         this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 7 }

tlpCoolingCondenserOutletDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air leaving the condenser in tenths degrees Fahrenheit.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureFahrenheitEntry 8 }

tlpCoolingTemperatureCelsiusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingTemperatureCelsiusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The temperature details for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by tlpCoolingIdentNumCooling."
    ::= { tlpCoolingTemperature 2 }

tlpCoolingTemperatureCelsiusEntry OBJECT-TYPE
    SYNTAX TlpCoolingTemperatureCelsiusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing temperature details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingTemperatureCelsiusTable 1 }

TlpCoolingTemperatureCelsiusEntry ::= SEQUENCE {
    tlpCoolingAmbientDegC            Integer32,
    tlpCoolingSupplyAirDegC          Integer32,
    tlpCoolingReturnAirDegC          Integer32,
    tlpCoolingCondenserInletDegC     Integer32,
    tlpCoolingEvaporatorDegC         Integer32,
    tlpCoolingSuctionDegC            Integer32,
    tlpCoolingRemoteDegC             Integer32,
    tlpCoolingCondenserOutletDegC    Integer32 }

tlpCoolingAmbientDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The ambient temperature in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME. Support was deprecated
        in agent versions 20 and later and superseded by tlpCoolingReturnAirDegC."
    ::= { tlpCoolingTemperatureCelsiusEntry 1 }

tlpCoolingSupplyAirDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air supplied to the room in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 2 }

tlpCoolingReturnAirDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air entering the cooling unit in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 3 }

tlpCoolingCondenserInletDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air entering the condenser in tenths degrees Celsius. If not supported,
         this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 4 }

tlpCoolingEvaporatorDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the evaporator surface in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 5 }

tlpCoolingSuctionDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the low pressure refrigerant line in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 6 }

tlpCoolingRemoteDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The external remote temperature in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 7 }

tlpCoolingCondenserOutletDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature of the air leaving the condenser in tenths degrees Celsius. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingTemperatureCelsiusEntry 8 }

tlpCoolingPressureMpaTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingPressureMpaEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The pressure detail for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by  tlpCoolingIdentNumCooling."
    ::= {  tlpCoolingPressure 1 }

tlpCoolingPressureMpaEntry OBJECT-TYPE
    SYNTAX TlpCoolingPressureMpaEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing pressure details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingPressureMpaTable 1 }

TlpCoolingPressureMpaEntry ::= SEQUENCE {
    tlpCoolingSuctionPressureMpa          Unsigned32,
    tlpCoolingDischargePressureMpa        Unsigned32 }

tlpCoolingSuctionPressureMpa OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Mpa"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The pressure of the compressor discharge line in tenths of Mpa. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingPressureMpaEntry 1 }

tlpCoolingDischargePressureMpa     OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Mpa"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The pressure of the compressor discharge line in tenths of Mpa. If not supported,
         this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingPressureMpaEntry 2 }

tlpCoolingPressurePsiTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingPressurePsiEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The pressure detail for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by  tlpCoolingIdentNumCooling."
    ::= {  tlpCoolingPressure 2 }

tlpCoolingPressurePsiEntry OBJECT-TYPE
    SYNTAX TlpCoolingPressurePsiEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing pressure details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingPressurePsiTable 1 }

TlpCoolingPressurePsiEntry ::= SEQUENCE {
    tlpCoolingSuctionPressurePsi          Unsigned32,
    tlpCoolingDischargePressurePsi        Unsigned32 }

tlpCoolingSuctionPressurePsi OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Psi"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The pressure of the compressor discharge line in tenths of Psi. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingPressurePsiEntry 1 }

tlpCoolingDischargePressurePsi OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 Psi"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The pressure of the compressor discharge line in tenths of Psi. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingPressurePsiEntry 2 }

tlpCoolingDynamicTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingDynamicEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The dynamic detail for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by  tlpCoolingIdentNumCooling."
    ::= {  tlpCoolingDetail 4 }

tlpCoolingDynamicEntry OBJECT-TYPE
    SYNTAX TlpCoolingDynamicEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry dynamic details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingDynamicTable 1 }

TlpCoolingDynamicEntry ::= SEQUENCE {
    tlpCoolingEvaporatorFanSpeed    INTEGER,
    tlpCoolingCondenserFanSpeed     INTEGER,
    tlpCoolingCompressorFrequency   Unsigned32,
    tlpCoolingEEVSteps              INTEGER }

tlpCoolingEvaporatorFanSpeed OBJECT-TYPE
    SYNTAX INTEGER {
        off(0),
        low(1),
        mediumLow(2),
        medium(3),
        mediumHigh(4),
        high(5),
        auto(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current speed of the evaporator fan. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingDynamicEntry 1 }

tlpCoolingCondenserFanSpeed OBJECT-TYPE
    SYNTAX INTEGER {
        off(0),
        low(1),
        mediumLow(2),
        medium(3),
        mediumHigh(4),
        high(5),
        auto(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current speed of the condenser fan. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingDynamicEntry 2 }

tlpCoolingCompressorFrequency OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "Hertz"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The operating mechanical frequency(Hz) of the compressor. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= {  tlpCoolingDynamicEntry 3 }

tlpCoolingEEVSteps OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
       "The current EEV steps. If not supported, this value will always
       return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingDynamicEntry 4 }

tlpCoolingRuntimeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingRuntimeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The runtime detail for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by  tlpCoolingIdentNumCooling."
    ::= {  tlpCoolingDetail 5 }

tlpCoolingRuntimeEntry OBJECT-TYPE
    SYNTAX TlpCoolingRuntimeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing runtime for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingRuntimeTable 1 }

TlpCoolingRuntimeEntry ::= SEQUENCE {
    tlpCoolingCompressorRunDays       Unsigned32,
    tlpCoolingCondensatePumpRunDays   Unsigned32,
    tlpCoolingAirFilterRunHours       Unsigned32,
    tlpCoolingEvaporatorFanRunDays    Unsigned32,
    tlpCoolingCondenserFanRunDays     Unsigned32,
    tlpCoolingAtomizerRunDays	      Unsigned32 }

tlpCoolingCompressorRunDays OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "days"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total days the compressor has been under operation. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingRuntimeEntry 1 }

tlpCoolingCondensatePumpRunDays OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "days"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total days the condensate pump has been under operation. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingRuntimeEntry 2}

tlpCoolingAirFilterRunHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "hours"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total hours the air filter has been under operation. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingRuntimeEntry 3 }

tlpCoolingEvaporatorFanRunDays OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "days"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total days the evaporator fan has been under operation. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingRuntimeEntry 4 }

tlpCoolingCondenserFanRunDays OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "days"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total days the condenser fan has been under operation. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingRuntimeEntry 5 }

tlpCoolingAtomizerRunDays OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "days"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total days the atomizer has been under operation. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingRuntimeEntry 6 }

tlpCoolingStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The status detail for each cooling device in device table. This is a
        sparse dependent table, and will contain the number of entries based upon the
        number of cooling device managed by the agent as reported by tlpCoolingIdentNumCooling."
    ::= {  tlpCoolingDetail 6 }

tlpCoolingStatusEntry OBJECT-TYPE
    SYNTAX TlpCoolingStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing status for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingStatusTable 1 }

TlpCoolingStatusEntry ::= SEQUENCE {
    tlpCoolingOperatingMode     INTEGER,
    tlpCoolingCoolOutput        Unsigned32,
    tlpCoolingAlarmStatus       INTEGER,
    tlpCoolingCompressorStatus  INTEGER,
    tlpCoolingWaterStatus       INTEGER,
    tlpCoolingDefrostMode       INTEGER,
    tlpCoolingQuietMode         INTEGER,
    tlpCoolingHotGasBypass      INTEGER,
    tlpCoolingAutoFanSpeed      INTEGER }

tlpCoolingOperatingMode OBJECT-TYPE
    SYNTAX INTEGER {
        off(0),
        idle(1),
        cooling(2),
        shuttingDown(3),
        dehumidifying(4),
        defrosting(5),
        notConnected(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current operating mode. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 1 }

tlpCoolingCoolOutput OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "0.1 kilowatts"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current cooling output of the cooling device in tenth of kilowatt. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 2 }

tlpCoolingAlarmStatus OBJECT-TYPE
    SYNTAX INTEGER {
        noAlarm(0),
        warning(1),
        critical(2)}
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current alarm status of the cooling device. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 3 }

tlpCoolingCompressorStatus OBJECT-TYPE
    SYNTAX INTEGER {
        off(0),
        on(1)}
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current operating status of compressor. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 4 }

tlpCoolingWaterStatus OBJECT-TYPE
    SYNTAX INTEGER {
        notFull(0),
        full(1)}
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current water status of cooling unit. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 5 }

tlpCoolingDefrostMode OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the defrost mode is presently enabled or disabled.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 6 }

tlpCoolingQuietMode OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the quiet mode is presently enabled or disabled.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 7 }

tlpCoolingHotGasBypass OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the hot gas bypass mode is presently enabled or disabled.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 8 }

tlpCoolingAutoFanSpeed OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the auto fan speed is presently enabled or disabled.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingStatusEntry 9 }

tlpCoolingControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The actionable controls for each cooling device in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are cooling device."
    ::= { tlpCoolingControl 1 }

tlpCoolingControlEntry OBJECT-TYPE
    SYNTAX TlpCoolingControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing controls for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingControlTable 1 }

TlpCoolingControlEntry ::= SEQUENCE {
    tlpCoolingMode          INTEGER,
    tlpCoolingControlOn     TruthValue,
    tlpCoolingControlOff    TruthValue }

tlpCoolingMode OBJECT-TYPE
    SYNTAX INTEGER {
        turnOffUnit(0),
        turnOnUnit(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Turn the unit on or off."
    ::= { tlpCoolingControlEntry 1 }

tlpCoolingControlOn OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the cooling device on."
    ::= { tlpCoolingControlEntry 2 }

tlpCoolingControlOff OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to turn the cooling device off."
    ::= { tlpCoolingControlEntry 3 }

tlpCoolingConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration details for each each cooling device in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are cooling device. Not all options are available on all
        cooling devices."
    ::= { tlpCoolingConfig 1 }

tlpCoolingConfigEntry OBJECT-TYPE
    SYNTAX TlpCoolingConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry configuration details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingConfigTable 1 }

TlpCoolingConfigEntry ::= SEQUENCE {
    tlpCoolingConfigAutoStart                INTEGER,
    tlpCoolingConfigFanSpeed                 INTEGER,
    tlpCoolingConfigControlType              INTEGER,
    tlpCoolingConfigDisplayUnits             INTEGER,
    tlpCoolingConfigBeepOnKey                INTEGER,
    tlpCoolingConfigInputContactType         INTEGER,
    tlpCoolingConfigOutputContactType        INTEGER,
    tlpCoolingConfigOutputRelaySource        INTEGER,
    tlpCoolingConfigOutputRelayDefault       INTEGER,
    tlpCoolingConfigOffOnInputContact        INTEGER,
    tlpCoolingConfigOffOnLeak                INTEGER,
    tlpCoolingConfigWaterLeakContactType     INTEGER,
    tlpCoolingConfigAirFilterInterval        Unsigned32,
    tlpCoolingConfigAirFilterAlarm           INTEGER,
    tlpCoolingConfigMaxAirFilterRunHours     Unsigned32,
    tlpCoolingConfigStartTimer               Unsigned32,
    tlpCoolingConfigStopTimer                Unsigned32,
    tlpCoolingConfigEnergyMode               INTEGER,
    tlpCoolingConfigDefrostMode              INTEGER,
    tlpCoolingConfigRemoteTemperatureSensor  INTEGER,
    tlpCoolingConfigDehumidifyingMode        INTEGER,
    tlpCoolingConfigFanAlwaysOn              INTEGER,
    tlpCoolingConfigQuietMode                INTEGER,
    tlpCoolingConfigHotGasBypass             INTEGER,
    tlpCoolingConfigAutoFanSpeed             INTEGER }

tlpCoolingConfigAutoStart OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Specifies if the unit should start automatically on power up. This value is
        deprecated as of agent version 20. If not supported, this value will always
        return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 1 }

tlpCoolingConfigFanSpeed OBJECT-TYPE
    SYNTAX INTEGER {
        off(0),
        low(1),
        mediumLow(2),
        medium(3),
        mediumHigh(4),
        high(5),
        auto(6) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies the actual speed of the evaporator fan. Setting the fan speed
        to auto(6) will enable tlpCoolingAutoFanSpeed; however, on most units getting
        the fan speed will return the actual fan speed regardless whether auto fan
        speed is enabled or disabled. The value auto(6) is returned only on units that
        do not report the actual fan speed when auto fan speed is enabled. Not all
        values are supported on all cooling units. Invalid values will return an appropriate
        error when accessed. If not supported, this value will always return ERROR_NO_SUCH_NAME"
    ::= { tlpCoolingConfigEntry 2 }

tlpCoolingConfigControlType OBJECT-TYPE
    SYNTAX INTEGER {
        returnAirTemperature(0),
        remoteTemperature(1) }
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "Specifies which temperature is used as a control point. This value is obsolete as of
        agent version 15. It is superseded by tlpCoolingConfigRemoteTemperatureSensor. This value
        will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 3 }

tlpCoolingConfigDisplayUnits OBJECT-TYPE
    SYNTAX INTEGER {
        metric(0),
        english(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specifies whether displays output values in Metric or English formats. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 4 }

tlpCoolingConfigBeepOnKey OBJECT-TYPE
    SYNTAX INTEGER {
        noBeep(0),
        beepOn(1) }
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "Specifies whether a beep is emitted when a key is pressed on the unit's display panel.
        This value is obsolete as of agent version 15 and will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 5 }

tlpCoolingConfigInputContactType OBJECT-TYPE
    SYNTAX INTEGER {
        normallyClosed(0),
        normallyOpen(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The input contact type. This value is deprecated as of agent version 20. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 6 }

tlpCoolingConfigOutputContactType OBJECT-TYPE
    SYNTAX INTEGER {
        normallyClosed(0),
        normallyOpen(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The output contact type. This value is deprecated as of agent version 20. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 7 }

tlpCoolingConfigOutputRelaySource OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        allAlarmsAndWarnings(1),
        criticalAlarmsOnly(2) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The alarm level that causes the output relay to activate. This value is deprecated
        as of agent version 20. If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 8 }

tlpCoolingConfigOutputRelayDefault OBJECT-TYPE
    SYNTAX INTEGER {
        normallyClosed(0),
        normallyOpen(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Type of contact to make when output relay is activated. This value is deprecated
        as of agent version 20. If not supported, this value will always return ERROR_NO_SUCH_NAME."
   ::= { tlpCoolingConfigEntry 9 }

tlpCoolingConfigOffOnInputContact OBJECT-TYPE
    SYNTAX INTEGER {
        turnOff(0),
        alarmOnly(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates if the unit should stop cooling when input contact is activated. This value
        is deprecated as of agent version 20. If not supported, this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 10 }

tlpCoolingConfigOffOnLeak OBJECT-TYPE
    SYNTAX INTEGER {
        turnOff(0),
        alarmOnly(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "Indicates if the unit should stop cooling when leak input is activated. This value
        is deprecated as of agent version 20. If not supported, this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 11 }

tlpCoolingConfigWaterLeakContactType OBJECT-TYPE
    SYNTAX INTEGER {
        normallyClosed(0),
        normallyOpen(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The water leak contact type. This value is deprecated as of agent version 20. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 12 }

tlpCoolingConfigAirFilterInterval OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "weeks"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The number of weeks before the air filter needs to be changed. This value is
        deprecated as of agent version 20. If not supported, this value will always
        return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 13 }

tlpCoolingConfigAirFilterAlarm OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    UNITS "hours"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "When enabled, an alarm should occur when the maximum number of air filter run hours
        has been exceeded. This value is deprecated as of agent version 20. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
  ::= { tlpCoolingConfigEntry 14 }

tlpCoolingConfigMaxAirFilterRunHours OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "hours"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The maximum interval for air filter run hours before warning is annunciated. This
        value is deprecated as of agent version 20. If not supported, this value will always
        return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 15 }

tlpCoolingConfigStartTimer OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "minutes"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The unit will start operate after the specified timer elapsed. This value is
        deprecated as of agent version 20. If not supported, this value will always return
        ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 16 }

tlpCoolingConfigStopTimer  OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS "minutes"
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The unit will switch to standby mode after the specified timer elapsed. This value
        is deprecated as of agent version 20. If not supported, this value will always
        return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 17 }

tlpCoolingConfigEnergyMode  OBJECT-TYPE
    SYNTAX INTEGER {
        normalCooling(0),
        energySaving(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option enables or disables the energy saving mode.
         If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 18 }

tlpCoolingConfigDefrostMode OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "This option enables or disables the defrost mode. This value is
        deprecated as of agent version 20 and not remotely configurable
        on any device. It is superseded by tlpCoolingDefrostMode."
    ::= { tlpCoolingConfigEntry 19 }

tlpCoolingConfigRemoteTemperatureSensor OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option enables or disables the remote temperature sensor. If not
        supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 20 }

tlpCoolingConfigDehumidifyingMode OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option enables or disables the dehumidifying mode. If not supported,
        this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 21 }

tlpCoolingConfigFanAlwaysOn OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This option enables or disables the fan always on. If not supported, this
        value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigEntry 22 }

tlpCoolingConfigQuietMode OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This option enables or disables the quiet mode. This value is
        deprecated as of agent version 20 and not remotely configurable on any
        device. It is superseded by tlpCoolingQuietMode."
    ::= { tlpCoolingConfigEntry 23 }

tlpCoolingConfigHotGasBypass OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "This option enables or disables the hot gas bypass. This value is
        deprecated as of agent version 20 and not remotely configurable on any
        device. It is superseded by tlpCoolingHotGasBypass."
    ::= { tlpCoolingConfigEntry 24 }

tlpCoolingConfigAutoFanSpeed OBJECT-TYPE
    SYNTAX INTEGER {
        disabled(0),
        enabled(1) }
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "This option enables or disables the auto fan speed. This value is deprecated
        as of agent version 20 and superseded by tlpCoolingFanSpeed and
        tlpCoolingAutoFanSpeed."
    ::= { tlpCoolingConfigEntry 25 }

tlpCoolingConfigTemperatureFahrenheitTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingConfigTemperatureFahrenheitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration details for each each cooling device in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are cooling device. Not all options are available on all
        cooling devices."
    ::= { tlpCoolingConfig 2 }

tlpCoolingConfigTemperatureFahrenheitEntry OBJECT-TYPE
    SYNTAX TlpCoolingConfigTemperatureFahrenheitEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry configuration details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingConfigTemperatureFahrenheitTable 1 }

TlpCoolingConfigTemperatureFahrenheitEntry ::= SEQUENCE {
    tlpCoolingSetPointDegF                  Integer32,
    tlpCoolingSupplyAirHighLimitDegF        Integer32,
    tlpCoolingSupplyAirLowLimitDegF         Integer32,
    tlpCoolingMaxDeviationLimitDegF         Integer32,
    tlpCoolingReturnAirHighLimitDegF        Integer32,
    tlpCoolingReturnAirLowLimitDegF         Integer32,
    tlpCoolingRemoteSetPointDegF            Integer32 }

tlpCoolingSetPointDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The set point temperature the unit will control the temperature in tenths degrees Fahrenheit.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry 1 }

tlpCoolingSupplyAirHighLimitDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum allowed supply air temperature in tenths degrees Fahrenheit before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry 2 }

tlpCoolingSupplyAirLowLimitDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Minimum allowed supply air temperature in tenths degrees Fahrenheit before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry 3 }

tlpCoolingMaxDeviationLimitDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum allowed air temperature deviation from set temperature before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry  4 }
tlpCoolingReturnAirHighLimitDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum allowed supply air temperature in tenths degrees Fahrenheit before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry 5 }

tlpCoolingReturnAirLowLimitDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Minimum allowed supply air temperature in tenths degrees Fahrenheit before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry 6 }

tlpCoolingRemoteSetPointDegF OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Fahrenheit"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The remote set point temperature the unit will control the temperature in tenths degrees Fahrenheit.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureFahrenheitEntry 7 }

tlpCoolingConfigTemperatureCelsiusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpCoolingConfigTemperatureCelsiusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The configuration details for each cooling device in device table. This
        is a sparse dependent table, and will contain some subset of
        devices that are cooling device. Not all options are available on all
        cooling devices."
    ::= { tlpCoolingConfig 3 }

tlpCoolingConfigTemperatureCelsiusEntry OBJECT-TYPE
    SYNTAX TlpCoolingConfigTemperatureCelsiusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry configuration details for a particular cooling device."
    INDEX { tlpDeviceIndex }
    ::= { tlpCoolingConfigTemperatureCelsiusTable 1 }

TlpCoolingConfigTemperatureCelsiusEntry ::= SEQUENCE {
    tlpCoolingSetPointDegC            Integer32,
    tlpCoolingSupplyAirHighLimitDegC  Integer32,
    tlpCoolingSupplyAirLowLimitDegC   Integer32,
    tlpCoolingMaxDeviationLimitDegC   Integer32,
    tlpCoolingReturnAirHighLimitDegC  Integer32,
    tlpCoolingReturnAirLowLimitDegC   Integer32,
    tlpCoolingRemoteSetPointDegC      Integer32 }

tlpCoolingSetPointDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The set point temperature the unit will control the temperature in tenths degrees Celsius.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 1 }

tlpCoolingSupplyAirHighLimitDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum allowed supply air temperature in tenths degrees Celsius before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 2 }

tlpCoolingSupplyAirLowLimitDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Minimum allowed supply air temperature in tenths degrees Celsius before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 3 }

tlpCoolingMaxDeviationLimitDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum allowed air temperature deviation from set temperature before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 4 }

tlpCoolingReturnAirHighLimitDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum allowed return air temperature in tenths degrees Celsius before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 5 }

tlpCoolingReturnAirLowLimitDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Minimum allowed return air temperature in tenths degrees Celsius before firing an alarm.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 6 }

tlpCoolingRemoteSetPointDegC OBJECT-TYPE
    SYNTAX Integer32
    UNITS "0.1 degrees Celsius"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The remote set point temperature the unit will control the temperature in tenths degrees Celsius.
        If not supported, this value will always return ERROR_NO_SUCH_NAME."
    ::= { tlpCoolingConfigTemperatureCelsiusEntry 7 }

-- kvm

tlpKvmIdentNumKvm OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of kvm devices that this agent is currently managing."
    ::= { tlpKvmIdent 1 }

-- rackTrack

tlpRackTrackIdentNumRackTrack OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of rack track devices that this agent is currently managing."
    ::= { tlpRackTrackIdent 1 }

-- switch

tlpSwitchIdentNumSwitch OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of switch devices that this agent is currently managing."
    ::= { tlpSwitchIdent 1 }

-- software

tlpAgentType OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(0),
        pal(1),
        pansa(2),
        delta(3),
        sinetica(4),
        netos6(5),
        netos7(6),
        panms(7),
        nmc5(8) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of PowerAlert engine providing this data."
    ::= { tlpAgentIdent 1 }

tlpAgentVersion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The version of the agent software."
    ::= { tlpAgentIdent 2 }

tlpAgentDriverVersion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The driver version of the agent software. This value is not supported
        in PowerAlert agents v20 and above and will return ERROR_NO_SUCH_NAME."
    ::= { tlpAgentIdent 3 }

tlpAgentMAC OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The MAC Address of the agent."
    ::= { tlpAgentIdent 4 }

tlpAgentSerialNum OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Serial number of the web card providing the agent data. This value is
        only supported by a web card agent. PowerAlert for PC (PAL) agents do
        not support this value and will return ERROR_NO_SUCH_NAME."
    ::= { tlpAgentIdent 5 }

tlpAgentUuid OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Universally unique identifier for this host in the form 8-4-4-4-12 for a
        total of 36 characters (32 alphanumeric characters and four hyphens). For
        example: 550e8400-e29b-41d4-a716-446655440000."
    ::= { tlpAgentIdent 6 }

tlpAgentAttributesSupports  OBJECT IDENTIFIER
    ::= { tlpAgentAttributes 1 }

tlpAgentAttributesSupportsHTTP OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports HTTP connections."
    ::= { tlpAgentAttributesSupports 1 }

tlpAgentAttributesSupportsHTTPS OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports HTTPS connections."
    ::= { tlpAgentAttributesSupports 2 }

tlpAgentAttributesSupportsFTP OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports FTP connections."
    ::= { tlpAgentAttributesSupports 3 }

tlpAgentAttributesSupportsTelnet OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports Telnet connections."
    ::= { tlpAgentAttributesSupports 4 }

tlpAgentAttributesSupportsObsolete1 OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Unused."
    ::= { tlpAgentAttributesSupports 5 }

tlpAgentAttributesSupportsSSH OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports SSH connections."
    ::= { tlpAgentAttributesSupports 6 }

tlpAgentAttributesSupportsObsolete2 OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Unused."
    ::= { tlpAgentAttributesSupports 7 }

tlpAgentAttributesSupportsSNMP OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports SNMP connections."
    ::= { tlpAgentAttributesSupports 8 }

tlpAgentAttributesSupportsSNMPTrap OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent supports listening for SNMP traps. This
        is only applicable for network monitoring applications, PowerAlert
        Shutdown Agent for an example, that connect to a web card or PowerAlert
        Local and listen for outbound traps. As such, this value is not supported
        and will always return 2(false) for a web card or PowerAlert Local."
    ::= { tlpAgentAttributesSupports 9 }

tlpAgentAttributesEnabled  OBJECT IDENTIFIER
    ::= { tlpAgentAttributes 2 }

tlpAgentAttributesHTTPEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow HTTP connections."
    ::= { tlpAgentAttributesEnabled 1 }

tlpAgentAttributesHTTPSEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow HTTPS connections."
    ::= { tlpAgentAttributesEnabled 2 }

tlpAgentAttributesFTPEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the agent will allow FTP connections."
    ::= { tlpAgentAttributesEnabled 3 }

tlpAgentAttributesTelnetEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow Telnet connections."
    ::= { tlpAgentAttributesEnabled 4 }

tlpAgentAttributesObsolete1Enabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Unused."
    ::= { tlpAgentAttributesEnabled 5 }

tlpAgentAttributesSSHEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow SSH connections."
    ::= { tlpAgentAttributesEnabled 6 }

tlpAgentAttributesSFTPEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Indicates whether the agent will allow SFTP and SCP connections."
    ::= { tlpAgentAttributesEnabled 7 }

tlpAgentAttributesObsolete2Enabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Unknown."
    ::= { tlpAgentAttributesEnabled 8 }

tlpAgentAttributesSnmp  OBJECT IDENTIFIER
    ::= { tlpAgentAttributes 3 }

tlpAgentAttributesSNMPv1Enabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow SNMPv1 connections."
    ::= { tlpAgentAttributesSnmp 1 }

tlpAgentAttributesSNMPv2cEnabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow SNMPv2c connections."
    ::= { tlpAgentAttributesSnmp 2 }

tlpAgentAttributesSNMPv3Enabled OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the agent will allow SNMPv3 connections."
    ::= { tlpAgentAttributesSnmp 3 }

tlpAgentAttributesPorts  OBJECT IDENTIFIER
    ::= { tlpAgentAttributes 4 }

tlpAgentAttributesHTTPPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The port used for HTTP communications."
    ::= { tlpAgentAttributesPorts 1 }

tlpAgentAttributesHTTPSPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The port used for HTTPS communications."
    ::= { tlpAgentAttributesPorts 2 }

tlpAgentAttributesFTPPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The port used for FTP communications."
    ::= { tlpAgentAttributesPorts 3 }

tlpAgentAttributesTelnetPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The port used for Telnet communications."
    ::= { tlpAgentAttributesPorts 4 }

tlpAgentAttributesObsolete1Port OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Unused."
    ::= { tlpAgentAttributesPorts 5 }

tlpAgentAttributesSSHPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The port used for SSH communications."
    ::= { tlpAgentAttributesPorts 6 }

tlpAgentAttributesObsolete2Port OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "Unused."
    ::= { tlpAgentAttributesPorts 7 }

tlpAgentAttributesSNMPPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The port used for SNMP communications."
    ::= { tlpAgentAttributesPorts 8 }

tlpAgentAttributesSNMPTrapPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The port used for SNMP trap and notifications."
    ::= { tlpAgentAttributesPorts 9 }

tlpAgentAttributesOptions OBJECT IDENTIFIER
    ::= { tlpAgentAttributes 5 }

tlpAgentAttributesHTTPRedirected OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether HTTP traffic is redirected to HTTPS."
    ::= { tlpAgentAttributesOptions 1 }

tlpAgentAddressIPv4 OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IPv4 address of the agent."
    ::= { tlpAgentAddresses 1 }

tlpAgentAddressIPv6 OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IPv6 address of the agent."
    ::= { tlpAgentAddresses 2 }

tlpAgentConfigRemoteRegistration OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Registers an SNMP contact's IP address and the port on which
        the contact is listening for SNMP traps.  Setting this
        value is used to CREATE a table entry in a non-standard way.
        Getting this value will return a string INADDR_ANY and any
        port number.

        The port number should always be included. When unregistering
        an SNMP contact, the requester's IP address should be provided
        with a port number of 0.  When setting or unsetting this OID,
        the IP address string should never be 0 nor should it be empty.

        The registration uses its default community string to register
        each contact. To use a community other than the default, then
        it must be appended to the end of the string delimited with a
        comma.

        The address should be of the format 0.0.0.0:00000 for IPv4.
        If IPv6 is supported, use the bracket-enclosed format given
        in IETF RFC 2732 Section 2, with the following examples:

        [FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80
        [1080:0:0:0:8:800:200C:417A]:162
        [3ffe:2a00:100:7031::1]:162
        [1080::8:800:200C:417A]:162,myCommunity
        [::192.9.5.5]:162,myCommunity
        [::FFFF:129.144.52.38]:80
        [2010:836B:4179::836B:4179]:162"
    ::= { tlpAgentConfig 1 }

tlpAgentConfigCurrentTime OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "PowerAlert's current date and time in UTC. Setting this value must
        follow the RFC3339 time format (e.g. '2030-07-04 00:00:00+05:00').
        Regardless of any time offset used when setting this value, the
        agent will always return a value with an offset of +00:00."
    ::= { tlpAgentConfig 2 }

tlpAgentNumEmailContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of email contacts currently defined in the agent."
    ::= { tlpAgentEmailContacts 1 }

tlpAgentEmailContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAgentEmailContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of email contact entries. The number of entries is given by
        the value of tlpAgentNumEmailContacts."
    ::= { tlpAgentEmailContacts 2 }

tlpAgentEmailContactEntry OBJECT-TYPE
    SYNTAX TlpAgentEmailContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing the details of an email contact."
    INDEX { tlpAgentEmailContactIndex }
    ::= { tlpAgentEmailContactTable 1 }

TlpAgentEmailContactEntry ::= SEQUENCE {
    tlpAgentEmailContactIndex           Unsigned32,
    tlpAgentEmailContactRowStatus       RowStatus,
    tlpAgentEmailContactName            DisplayString,
    tlpAgentEmailContactAddress         DisplayString,
    tlpAgentEmailContactTest            TruthValue }

tlpAgentEmailContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the email contact."
    ::= { tlpAgentEmailContactEntry 1 }

tlpAgentEmailContactRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status for the tlpAgentEmailContactTable."
    ::= { tlpAgentEmailContactEntry 2 }

tlpAgentEmailContactName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of the email contact."
    ::= { tlpAgentEmailContactEntry 3 }

tlpAgentEmailContactAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The address of the email contact."
    ::= { tlpAgentEmailContactEntry 4 }

tlpAgentEmailContactTest OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to send a test email to the contact."
    ::= { tlpAgentEmailContactEntry 5 }

tlpAgentNumSnmpContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of SNMP contacts currently defined in the agent."
    ::= { tlpAgentSnmpContacts 1 }

tlpAgentSnmpContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAgentSnmpContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of SNMP contact entries. The number of entries is given by
        the value of tlpAgentNumSnmpContacts."
    ::= { tlpAgentSnmpContacts 2 }

tlpAgentSnmpContactEntry OBJECT-TYPE
    SYNTAX TlpAgentSnmpContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing the details of an SNMP contact."
        INDEX { tlpAgentSnmpContactIndex }
    ::= { tlpAgentSnmpContactTable 1 }

TlpAgentSnmpContactEntry ::= SEQUENCE {
    tlpAgentSnmpContactIndex            Unsigned32,
    tlpAgentSnmpContactRowStatus        RowStatus,
    tlpAgentSnmpContactName             DisplayString,
    tlpAgentSnmpContactIpAddress        DisplayString,
    tlpAgentSnmpContactTrapPort         Unsigned32,
    tlpAgentSnmpContactSnmpVersion      INTEGER,
    tlpAgentSnmpContactSecurityName     DisplayString,
    tlpAgentSnmpContactPrivPassword     DisplayString,
    tlpAgentSnmpContactAuthPassword     DisplayString,
    tlpAgentSnmpContactTrapType         INTEGER,
    tlpAgentSnmpContactSetPort          Unsigned32,
    tlpAgentSnmpContactSupportsTrap     TruthValue,
    tlpAgentSnmpContactSupportsSet      TruthValue,
    tlpAgentSnmpContactTestTrap         TruthValue }

tlpAgentSnmpContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the SNMP contact."
    ::= { tlpAgentSnmpContactEntry 1 }

tlpAgentSnmpContactRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status for the tlpAgentSnmpContactTable."
    ::= { tlpAgentSnmpContactEntry 2 }

tlpAgentSnmpContactName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of the SNMP contact."
    ::= { tlpAgentSnmpContactEntry 3 }

tlpAgentSnmpContactIpAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IP address of the SNMP contact."
    ::= { tlpAgentSnmpContactEntry 4 }

tlpAgentSnmpContactTrapPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The trap port used for the SNMP contact."
    ::= { tlpAgentSnmpContactEntry 5 }

tlpAgentSnmpContactSnmpVersion OBJECT-TYPE
    SYNTAX INTEGER {
        snmpv1(1),
        snmpv2c(2),
        snmpv3(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The SNMP contact version to use for sending traps."
    ::= { tlpAgentSnmpContactEntry 6 }

tlpAgentSnmpContactSecurityName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "The security name for the SNMP contact."
    ::= { tlpAgentSnmpContactEntry 7 }

tlpAgentSnmpContactPrivPassword OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "The privacy password to use for sending V3 traps to the SNMP
        contact."
    ::= { tlpAgentSnmpContactEntry 8 }

tlpAgentSnmpContactAuthPassword OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "The authentication password to use for sending V3 traps to the
        SNMP contact."
    ::= { tlpAgentSnmpContactEntry 9 }

tlpAgentSnmpContactTrapType OBJECT-TYPE
    SYNTAX INTEGER {
        trap(0),
        inform(1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The type of notification to use for the SNMP contact. SNMPv1 does not support inform(1)."
    ::= { tlpAgentSnmpContactEntry 10 }

tlpAgentSnmpContactSetPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The set port used by the SNMP contact."
    ::= { tlpAgentSnmpContactEntry 11 }

tlpAgentSnmpContactSupportsTrap OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether the SNMP contact supports notifications."
    ::= { tlpAgentSnmpContactEntry 12 }

tlpAgentSnmpContactSupportsSet OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether the SNMP contact supports sets."
    ::= { tlpAgentSnmpContactEntry 13 }

tlpAgentSnmpContactTestTrap OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to send a test trap to the contact."
    ::= { tlpAgentSnmpContactEntry 14 }

-- Reserved for future use
-- tlpAgentSnmpContactTestSet
--    ::= { tlpAgentSnmpContactEntry 15 }

tlpAgentSmsNumSmsContacts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of SMS contacts currently defined in the agent."
    ::= { tlpAgentSmsContacts 1 }

tlpAgentSmsContactTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAgentSmsContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of SMS contact entries. The number of entries is given by
        the value of tlpAgentSmsContacts."
    ::= { tlpAgentSmsContacts 2 }

tlpAgentSmsContactEntry OBJECT-TYPE
    SYNTAX TlpAgentSmsContactEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing the details of an SMS contact."
        INDEX { tlpAgentSmsContactIndex }
    ::= { tlpAgentSmsContactTable 1 }

TlpAgentSmsContactEntry ::= SEQUENCE {
    tlpAgentSmsContactIndex         Unsigned32,
    tlpAgentSmsContactRowStatus     RowStatus,
    tlpAgentSmsContactName          DisplayString,
    tlpAgentSmsContactNumber        DisplayString,
    tlpAgentSmsContactTest          TruthValue }

tlpAgentSmsContactIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the SMS contact."
    ::= { tlpAgentSmsContactEntry 1 }

tlpAgentSmsContactRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status for the tlpAgentSmsContactTable."
    ::= { tlpAgentSmsContactEntry 2 }

tlpAgentSmsContactName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of the SMS contact."
    ::= { tlpAgentSmsContactEntry 3 }

tlpAgentSmsContactNumber OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Phone number of the SMS contact."
    ::= { tlpAgentSmsContactEntry 4 }

tlpAgentSmsContactTest OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Set to TRUE to send a test text message to the contact."
    ::= { tlpAgentSmsContactEntry 5 }

tlpAgentAutoProbeNumProbes OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of probes currently defined in the agent."
    ::= { tlpAgentAutoProbe 1 }

tlpAgentAutoProbeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAgentAutoProbeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of probe entries. The number of entries is given by
        the value of tlpAgentAutoProbeNumProbes."
    ::= { tlpAgentAutoProbe 2 }

tlpAgentAutoProbeEntry OBJECT-TYPE
    SYNTAX TlpAgentAutoProbeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing the details of a probe."
        INDEX { tlpAgentAutoProbeIndex }
    ::= { tlpAgentAutoProbeTable 1 }

TlpAgentAutoProbeEntry ::= SEQUENCE {
    tlpAgentAutoProbeIndex              Unsigned32,
    tlpAgentAutoProbeRowStatus          RowStatus,
    tlpAgentAutoProbeName               DisplayString,
    tlpAgentAutoProbeDescription        DisplayString,
    tlpAgentAutoProbeType               INTEGER,
    tlpAgentAutoProbeStatus             INTEGER,
    tlpAgentAutoProbeInterval           Unsigned32,
    tlpAgentAutoProbeRetryCount         Unsigned32,
    tlpAgentAutoProbePrimaryAddress     DisplayString,
    tlpAgentAutoProbePrimaryPort        Unsigned32,
    tlpAgentAutoProbeSecondaryAddress   DisplayString,
    tlpAgentAutoProbeSecondaryPort      Unsigned32 }

tlpAgentAutoProbeIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for the probe."
    ::= { tlpAgentAutoProbeEntry 1 }

tlpAgentAutoProbeRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Row status for the tlpAgentAutoProbeTable."
    ::= { tlpAgentAutoProbeEntry 2 }

tlpAgentAutoProbeName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The name of the probe."
    ::= { tlpAgentAutoProbeEntry 3 }

tlpAgentAutoProbeDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The description of the probe."
    ::= { tlpAgentAutoProbeEntry 4 }

tlpAgentAutoProbeType OBJECT-TYPE
    SYNTAX INTEGER {
        ntp(1),
        ping(2),
        snmp(3),
        http(4),
        https(5) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of probe."
    ::= { tlpAgentAutoProbeEntry 5 }

tlpAgentAutoProbeStatus OBJECT-TYPE
    SYNTAX INTEGER {
        unspecified(0),
        unknown(1),
        ok(2),
        failed(3),
        initFailed(4) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current status of the probe."
    ::= { tlpAgentAutoProbeEntry 6 }

tlpAgentAutoProbeInterval OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of minutes to wait between each probe attempt."
    ::= { tlpAgentAutoProbeEntry 7 }

tlpAgentAutoProbeRetryCount OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of failed probe attempts before a failure alert
        is triggered."
    ::= { tlpAgentAutoProbeEntry 8 }

tlpAgentAutoProbePrimaryAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The primary ip address or host name to probe."
    ::= { tlpAgentAutoProbeEntry 9 }

tlpAgentAutoProbePrimaryPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The primary port on tlpAgentAutoProbePrimaryAddress to probe. Not all
        probe types (tlpAgentAutoProbeType) support ports. If not supported, this
        agent will return ERROR_NO_SUCH_NAME."
    ::= { tlpAgentAutoProbeEntry 10 }

tlpAgentAutoProbeSecondaryAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The optional secondary ip address or host name to probe."
    ::= { tlpAgentAutoProbeEntry 11 }

tlpAgentAutoProbeSecondaryPort OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The secondary port on tlpAgentAutoProbeSecondaryAddress to probe. Not all
        probe types (tlpAgentAutoProbeType) support ports. If not supported, this
        agent will return ERROR_NO_SUCH_NAME."
    ::= { tlpAgentAutoProbeEntry 12 }

-- alarms

tlpAlarmsPresent OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The present number of active alarm conditions."
    ::= { tlpAlarms 1 }

tlpAlarmTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpDeviceAlarmEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of alarm conditions for all devices managed by this agent. This
        table contains zero, one, or many rows at any moment, depending upon
        the number of alarm conditions in effect or conditions not acknowledged.
        The agent creates a row in the table each time a condition is detected
        and deletes that row when that condition no longer pertains (becomes
        inactive and is acknowledged). The agent creates the first row with
        tlpAlarmId equal to 1, and increments the value of tlpAlarmId each time
        a new row is created, wrapping to the first free value greater than or
        equal to 1 when the maximum value of tlpAlarmId would otherwise be
        exceeded. Consequently, after multiple operations, the table may become
        sparse (e.g., containing entries for rows 95, 100, 101, and 203) and the
        entries should not be assumed to be in chronological order because
        tlpAlarmId might have wrapped.

        The number of rows in the table at any given time is reflected by
        the value of tlpAlarmsPresent."
    ::= { tlpAlarms 2 }

tlpAlarmEntry OBJECT-TYPE
    SYNTAX TlpDeviceAlarmEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing information application to a particular
        alarm."
    INDEX { tlpAlarmId }
    ::= { tlpAlarmTable 1 }

TlpDeviceAlarmEntry ::= SEQUENCE {
    tlpAlarmId                Unsigned32,
    tlpAlarmDescr             OBJECT IDENTIFIER,
    tlpAlarmTime              TimeStamp,
    tlpAlarmTableRef          OBJECT IDENTIFIER,
    tlpAlarmTableRowRef       OBJECT IDENTIFIER,
    tlpAlarmDetail            DisplayString,
    tlpAlarmType              INTEGER,
    tlpAlarmState             INTEGER,
    tlpAlarmAcknowledged      INTEGER,
    tlpAlarmSeverity          INTEGER }

tlpAlarmId OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A unique identifier for an alarm condition. This value will remain
        constant for the duration of the alarm condition."
    ::= { tlpAlarmEntry 1 }

tlpAlarmDescr OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A reference of the alarm description object. The object referenced
        should not be accessible, but rather be used to provide a unique
        description for the alarm condition. The object referenced will be a
        well known alarm object associated with the device on which the alarm
        condition is active."
    ::= { tlpAlarmEntry 2 }

tlpAlarmTime OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of sysUpTime when the alarm condition was detected. If the
        alarm condition was detected at the time of agent startup and presumably
        existed before agent startup, the value of tlpAlarmsTime shall equal
        0."
    ::= { tlpAlarmEntry 3 }

tlpAlarmTableRef OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This value references the OID of a table object applicable to the alarm
        condition. This, in conjunction with the table row as defined by
        tlpAlarmTableRowRef, specifies the object/row within this table to which
        the alarm condition applies.

        Example 1 -- The following sample values will be returned for a ups on
        battery:
        tlpAlarmId                28
        tlpAlarmDescr             tlpUpsAlarmOnBattery
        tlpAlarmTime              12345678
        tlpAlarmTableRef          tlpDeviceTable
        tlpAlarmTableRowRef       tlpDeviceIndex.2
        tlpAlarmDetail            On Battery
        tlpAlarmType              warning
        tlpAlarmState             active
        tlpAlarmAcknowledged      notAcknowledged
        tlpAlarmSeverity          warning

        In the above example, tlpAlarmTableRef references the device table and
        tlpAlarmTableRowRef references the 2nd managed device in that table.

        Example 2 -- The following sample values will be returned for a pdu with
        a load turned off:
        tlpAlarmId                46
        tlpAlarmDescr             tlpPduAlarmLoadOff
        tlpAlarmTime              12345678
        tlpAlarmTableRef          tlpPduOutletTable
        tlpAlarmTableRowRef       tlpOutletIndex.1.4
        tlpAlarmDetail            Load Off
        tlpAlarmType              warning
        tlpAlarmState             active
        tlpAlarmAcknowledged      acknowledged
        tlpAlarmSeverity          warning

        In the above example, tlpAlarmTableRef references the pdu outlet table and
        tlpAlarmTableRowRef references the 4th outlet on the 1st managed device."
    ::= { tlpAlarmEntry 4 }

tlpAlarmTableRowRef OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This value is used in conjunction with tlpAlarmTableRef to define the
        object associated with this alarm condition. See the description of
        tlpAlarmTableRef for more information."
    ::= { tlpAlarmEntry 5 }

tlpAlarmDetail OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A textual description of the alarm condition."
    ::= { tlpAlarmEntry 6 }

tlpAlarmType OBJECT-TYPE
    SYNTAX INTEGER {
        critical(1),
        warning(2),
        info(3),
        status(4),
        offline(5),
        custom(6) }
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The category/group of this alarm."
    ::= { tlpAlarmEntry 7 }

tlpAlarmState OBJECT-TYPE
    SYNTAX INTEGER {
        active(1),
        inactive(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of this alarm condition. An active(1) alarm is a condition
        that currently exists. An inactive(2) alarm is a condition that no longer exists
        because the alarm either cleared or was resolved. Each alarm condition must be
        cleared and acknowledged before it is removed from this table (see
        tlpAlarmAcknowledged)."
    ::= { tlpAlarmEntry 8 }

tlpAlarmAcknowledged OBJECT-TYPE
    SYNTAX INTEGER {
        notAcknowledged(1),
        acknowledged(2) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Denotes whether the alarm condition has been acknowledged. The agent will
        return notAcknowledged(1) if the condition has not been acknowledged, or
        acknowledged(2) when acknowledged. Writing the value acknowledged(2) for an
        alarm acknowledges the alarm condition. Each alarm condition must be cleared
        and acknowledged before it is removed from this table; therefore, even if
        acknowledged, the alarm will remain in this table until the alarm becomes
        inactive as denoted by tlpAlarmState."
    ::= { tlpAlarmEntry 9 }

tlpAlarmSeverity OBJECT-TYPE
    SYNTAX INTEGER {
        emergency(0),
        alert(1),
        critical(2),
        error(3),
        warning(4),
        notice(5),
        information(6) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The severity of this alarm."
    ::= { tlpAlarmEntry 10 }

tlpAutoProbeAlarms OBJECT IDENTIFIER
    ::= { tlpAgentAlarms 1 }

tlpAutoProbeAlarm01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 1 failed."
    ::= { tlpAutoProbeAlarms 1 }

tlpAutoProbeAlarm02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 2 failed."
    ::= { tlpAutoProbeAlarms 2 }

tlpAutoProbeAlarm03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 3 failed."
    ::= { tlpAutoProbeAlarms 3 }

tlpAutoProbeAlarm04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 4 failed."
    ::= { tlpAutoProbeAlarms 4 }

tlpAutoProbeAlarm05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 5 failed."
    ::= { tlpAutoProbeAlarms 5 }

tlpAutoProbeAlarm06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 6 failed."
    ::= { tlpAutoProbeAlarms 6 }

tlpAutoProbeAlarm07 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 7 failed."
    ::= { tlpAutoProbeAlarms 7 }

tlpAutoProbeAlarm08 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 8 failed."
    ::= { tlpAutoProbeAlarms 8 }

tlpAutoProbeAlarm09 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 9 failed."
    ::= { tlpAutoProbeAlarms 9 }

tlpAutoProbeAlarm10 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 10 failed."
    ::= { tlpAutoProbeAlarms 10 }

tlpAutoProbeAlarm11 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 11 failed."
    ::= { tlpAutoProbeAlarms 11 }

tlpAutoProbeAlarm12 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 12 failed."
    ::= { tlpAutoProbeAlarms 12 }

tlpAutoProbeAlarm13 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 13 failed."
    ::= { tlpAutoProbeAlarms 13 }

tlpAutoProbeAlarm14 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 14 failed."
    ::= { tlpAutoProbeAlarms 14 }

tlpAutoProbeAlarm15 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 15 failed."
    ::= { tlpAutoProbeAlarms 15 }

tlpAutoProbeAlarm16 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 16 failed."
    ::= { tlpAutoProbeAlarms 16 }

tlpAutoProbeAlarm17 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 17 failed."
    ::= { tlpAutoProbeAlarms 17 }

tlpAutoProbeAlarm18 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 18 failed."
    ::= { tlpAutoProbeAlarms 18 }

tlpAutoProbeAlarm19 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 19 failed."
    ::= { tlpAutoProbeAlarms 19 }

tlpAutoProbeAlarm20 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 20 failed."
    ::= { tlpAutoProbeAlarms 20 }

tlpAutoProbeAlarm21 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 21 failed."
    ::= { tlpAutoProbeAlarms 21 }

tlpAutoProbeAlarm22 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 22 failed."
    ::= { tlpAutoProbeAlarms 22 }

tlpAutoProbeAlarm23 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 23 failed."
    ::= { tlpAutoProbeAlarms 23 }

tlpAutoProbeAlarm24 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 24 failed."
    ::= { tlpAutoProbeAlarms 24 }

tlpAutoProbeAlarm25 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 25 failed."
    ::= { tlpAutoProbeAlarms 25 }

tlpAutoProbeAlarm26 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 26 failed."
    ::= { tlpAutoProbeAlarms 26 }

tlpAutoProbeAlarm27 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 27 failed."
    ::= { tlpAutoProbeAlarms 27 }

tlpAutoProbeAlarm28 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 28 failed."
    ::= { tlpAutoProbeAlarms 28 }

tlpAutoProbeAlarm29 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 29 failed."
    ::= { tlpAutoProbeAlarms 29 }

tlpAutoProbeAlarm30 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 30 failed."
    ::= { tlpAutoProbeAlarms 30 }

tlpAutoProbeAlarm31 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 31 failed."
    ::= { tlpAutoProbeAlarms 31 }

tlpAutoProbeAlarm32 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 32 failed."
    ::= { tlpAutoProbeAlarms 32 }

tlpAutoProbeAlarm33 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 33 failed."
    ::= { tlpAutoProbeAlarms 33 }

tlpAutoProbeAlarm34 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 34 failed."
    ::= { tlpAutoProbeAlarms 34 }

tlpAutoProbeAlarm35 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 35 failed."
    ::= { tlpAutoProbeAlarms 35 }

tlpAutoProbeAlarm36 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 36 failed."
    ::= { tlpAutoProbeAlarms 36 }

tlpAutoProbeAlarm37 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 37 failed."
    ::= { tlpAutoProbeAlarms 37 }

tlpAutoProbeAlarm38 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 38 failed."
    ::= { tlpAutoProbeAlarms 38 }

tlpAutoProbeAlarm39 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 39 failed."
    ::= { tlpAutoProbeAlarms 39 }

tlpAutoProbeAlarm40 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 40 failed."
    ::= { tlpAutoProbeAlarms 40 }

tlpAutoProbeAlarm41 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 41 failed."
    ::= { tlpAutoProbeAlarms 41 }

tlpAutoProbeAlarm42 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 42 failed."
    ::= { tlpAutoProbeAlarms 42 }

tlpAutoProbeAlarm43 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 43 failed."
    ::= { tlpAutoProbeAlarms 43 }

tlpAutoProbeAlarm44 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 44 failed."
    ::= { tlpAutoProbeAlarms 44 }

tlpAutoProbeAlarm45 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 45 failed."
    ::= { tlpAutoProbeAlarms 45 }

tlpAutoProbeAlarm46 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 46 failed."
    ::= { tlpAutoProbeAlarms 46 }

tlpAutoProbeAlarm47 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 47 failed."
    ::= { tlpAutoProbeAlarms 47 }

tlpAutoProbeAlarm48 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 48 failed."
    ::= { tlpAutoProbeAlarms 48 }

tlpAutoProbeAlarm49 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 49 failed."
    ::= { tlpAutoProbeAlarms 49 }

tlpAutoProbeAlarm50 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 50 failed."
    ::= { tlpAutoProbeAlarms 50 }

tlpAutoProbeAlarm51 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 51 failed."
    ::= { tlpAutoProbeAlarms 51 }

tlpAutoProbeAlarm52 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 52 failed."
    ::= { tlpAutoProbeAlarms 52 }

tlpAutoProbeAlarm53 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 53 failed."
    ::= { tlpAutoProbeAlarms 53 }

tlpAutoProbeAlarm54 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 54 failed."
    ::= { tlpAutoProbeAlarms 54 }

tlpAutoProbeAlarm55 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 55 failed."
    ::= { tlpAutoProbeAlarms 55 }

tlpAutoProbeAlarm56 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 56 failed."
    ::= { tlpAutoProbeAlarms 56 }

tlpAutoProbeAlarm57 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 57 failed."
    ::= { tlpAutoProbeAlarms 57 }

tlpAutoProbeAlarm58 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 58 failed."
    ::= { tlpAutoProbeAlarms 58 }

tlpAutoProbeAlarm59 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 59 failed."
    ::= { tlpAutoProbeAlarms 59 }

tlpAutoProbeAlarm60 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 60 failed."
    ::= { tlpAutoProbeAlarms 60 }

tlpAutoProbeAlarm61 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 61 failed."
    ::= { tlpAutoProbeAlarms 61 }

tlpAutoProbeAlarm62 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 62 failed."
    ::= { tlpAutoProbeAlarms 62 }

tlpAutoProbeAlarm63 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 63 failed."
    ::= { tlpAutoProbeAlarms 63 }

tlpAutoProbeAlarm64 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "AutoProbe 64 failed."
    ::= { tlpAutoProbeAlarms 64 }

tlpAutoProbeUserDefinedAlarms OBJECT IDENTIFIER
    ::= { tlpAgentAlarms 2 }

tlpAutoProbeUserDefinedAlarm01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 1 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 1 }

tlpAutoProbeUserDefinedAlarm02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 2 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 2 }

tlpAutoProbeUserDefinedAlarm03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 3 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 3 }

tlpAutoProbeUserDefinedAlarm04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 4 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 4 }

tlpAutoProbeUserDefinedAlarm05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 5 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 5 }

tlpAutoProbeUserDefinedAlarm06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 6 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 6 }

tlpAutoProbeUserDefinedAlarm07 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 7 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 7 }

tlpAutoProbeUserDefinedAlarm08 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 8 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 8 }

tlpAutoProbeUserDefinedAlarm09 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 9 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 9 }

tlpAutoProbeUserDefinedAlarm10 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 10 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 10 }

tlpAutoProbeUserDefinedAlarm11 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 11 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 11 }

tlpAutoProbeUserDefinedAlarm12 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 12 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 12 }

tlpAutoProbeUserDefinedAlarm13 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 13 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 13 }

tlpAutoProbeUserDefinedAlarm14 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 14 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 14 }

tlpAutoProbeUserDefinedAlarm15 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 15 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 15 }

tlpAutoProbeUserDefinedAlarm16 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 16 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 16 }

tlpAutoProbeUserDefinedAlarm17 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 17 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 17 }

tlpAutoProbeUserDefinedAlarm18 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 18 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 18 }

tlpAutoProbeUserDefinedAlarm19 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 19 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 19 }

tlpAutoProbeUserDefinedAlarm20 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 20 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 20 }

tlpAutoProbeUserDefinedAlarm21 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 21 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 21 }

tlpAutoProbeUserDefinedAlarm22 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 22 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 22 }

tlpAutoProbeUserDefinedAlarm23 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 23 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 23 }

tlpAutoProbeUserDefinedAlarm24 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 24 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 24 }

tlpAutoProbeUserDefinedAlarm25 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 25 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 25 }

tlpAutoProbeUserDefinedAlarm26 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 26 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 26 }

tlpAutoProbeUserDefinedAlarm27 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 27 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 27 }

tlpAutoProbeUserDefinedAlarm28 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 28 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 28 }

tlpAutoProbeUserDefinedAlarm29 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 29 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 29 }

tlpAutoProbeUserDefinedAlarm30 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 30 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 30 }

tlpAutoProbeUserDefinedAlarm31 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 31 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 31 }

tlpAutoProbeUserDefinedAlarm32 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 32 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 32 }

tlpAutoProbeUserDefinedAlarm33 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 33 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 33 }

tlpAutoProbeUserDefinedAlarm34 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 34 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 34 }

tlpAutoProbeUserDefinedAlarm35 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 35 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 35 }

tlpAutoProbeUserDefinedAlarm36 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 36 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 36 }

tlpAutoProbeUserDefinedAlarm37 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 37 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 37 }

tlpAutoProbeUserDefinedAlarm38 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 38 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 38 }

tlpAutoProbeUserDefinedAlarm39 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 39 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 39 }

tlpAutoProbeUserDefinedAlarm40 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 40 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 40 }

tlpAutoProbeUserDefinedAlarm41 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 41 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 41 }

tlpAutoProbeUserDefinedAlarm42 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 42 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 42 }

tlpAutoProbeUserDefinedAlarm43 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 43 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 43 }

tlpAutoProbeUserDefinedAlarm44 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 44 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 44 }

tlpAutoProbeUserDefinedAlarm45 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 45 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 45 }

tlpAutoProbeUserDefinedAlarm46 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 46 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 46 }

tlpAutoProbeUserDefinedAlarm47 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 47 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 47 }

tlpAutoProbeUserDefinedAlarm48 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 48 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 48 }

tlpAutoProbeUserDefinedAlarm49 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 49 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 49 }

tlpAutoProbeUserDefinedAlarm50 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 50 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 50 }

tlpAutoProbeUserDefinedAlarm51 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 51 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 51 }

tlpAutoProbeUserDefinedAlarm52 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 52 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 52 }

tlpAutoProbeUserDefinedAlarm53 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 53 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 53 }

tlpAutoProbeUserDefinedAlarm54 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 54 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 54 }

tlpAutoProbeUserDefinedAlarm55 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 55 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 55 }

tlpAutoProbeUserDefinedAlarm56 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 56 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 56 }

tlpAutoProbeUserDefinedAlarm57 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 57 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 57 }

tlpAutoProbeUserDefinedAlarm58 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 58 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 58 }

tlpAutoProbeUserDefinedAlarm59 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 59 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 59 }

tlpAutoProbeUserDefinedAlarm60 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 60 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 60 }

tlpAutoProbeUserDefinedAlarm61 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 61 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 61 }

tlpAutoProbeUserDefinedAlarm62 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 62 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 62 }

tlpAutoProbeUserDefinedAlarm63 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 63 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 63 }

tlpAutoProbeUserDefinedAlarm64 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined AutoProbe condition 64 failed."
    ::= { tlpAutoProbeUserDefinedAlarms 64 }

tlpAgentDiagnosticAlarms OBJECT IDENTIFIER
    ::= { tlpAgentAlarms 3 }

tlpAgentDiagnosticCPUUsageHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The CPU usage of the PowerAlert is high."
    ::= { tlpAgentDiagnosticAlarms 1 }

tlpAgentDiagnosticMemoryUsageHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The memory usage of PowerAlert is high."
    ::= { tlpAgentDiagnosticAlarms 2 }

tlpAgentDiagnosticServiceFailed OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more PowerAlert services failed."
    ::= { tlpAgentDiagnosticAlarms 3 }

tlpAgentConfigurationAlarms OBJECT IDENTIFIER
    ::= { tlpAgentAlarms 4 }

tlpAgentConfigurationBackedUp OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert configuration was backed up."
    ::= { tlpAgentConfigurationAlarms 1 }

tlpAgentConfigurationImported OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert configuration was imported."
    ::= { tlpAgentConfigurationAlarms 2 }

tlpAgentConfigurationRestored OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert configuration was restored."
    ::= { tlpAgentConfigurationAlarms 3 }

tlpAgentMaintenanceAlarms OBJECT IDENTIFIER
    ::= { tlpAgentAlarms 5 }

tlpAgentStarted OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert started."
    ::= { tlpAgentMaintenanceAlarms 1 }

tlpAgentStopped OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert stopped."
    ::= { tlpAgentMaintenanceAlarms 2 }

tlpAgentRebootInitiated OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert reboot was initiated."
    ::= { tlpAgentMaintenanceAlarms 3 }

tlpAgentFirmwareUpdated OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert firmware was updated."
    ::= { tlpAgentMaintenanceAlarms 4 }

tlpAgentRestoreFactoryDefaults OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "PowerAlert restoration to factory defaults was initiated."
    ::= { tlpAgentMaintenanceAlarms 5 }

tlpAgentUserManagementAlarms OBJECT IDENTIFIER
    ::= { tlpAgentAlarms 6 }

tlpAgentUserPasswordChanged OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A user password was changed."
    ::= { tlpAgentUserManagementAlarms 1 }

tlpAgentUserAdded OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A user was added."
    ::= { tlpAgentUserManagementAlarms 2 }

tlpAgentUserModified OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A user was modified."
    ::= { tlpAgentUserManagementAlarms 3 }

tlpAgentUserDeleted OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A user was deleted."
    ::= { tlpAgentUserManagementAlarms 4 }

tlpAgentUserConditionOccurred OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A generic user management condition occurred."
    ::= { tlpAgentUserManagementAlarms 5 }

tlpAgentRoleAdded OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A role was added."
    ::= { tlpAgentUserManagementAlarms 6 }

tlpAgentRoleModified OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A role was modified."
    ::= { tlpAgentUserManagementAlarms 7 }

tlpAgentRoleDeleted OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A role was deleted."
    ::= { tlpAgentUserManagementAlarms 8 }

tlpAlarmCommunicationsLost OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A problem has been encountered in the communications between the agent
        and the device."
    ::= { tlpDeviceAlarms 1 }

tlpAlarmUserDefined OBJECT IDENTIFIER
    ::= { tlpDeviceAlarms 2 }

tlpAlarmUserDefined01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 1 is in alarm."
    ::= { tlpAlarmUserDefined 1 }

tlpAlarmUserDefined02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 2 is in alarm."
    ::= { tlpAlarmUserDefined 2 }

tlpAlarmUserDefined03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 3 is in alarm."
    ::= { tlpAlarmUserDefined 3 }

tlpAlarmUserDefined04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 4 is in alarm."
    ::= { tlpAlarmUserDefined 4 }

tlpAlarmUserDefined05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 5 is in alarm."
    ::= { tlpAlarmUserDefined 5 }

tlpAlarmUserDefined06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 6 is in alarm."
    ::= { tlpAlarmUserDefined 6 }

tlpAlarmUserDefined07 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 7 is in alarm."
    ::= { tlpAlarmUserDefined 7 }

tlpAlarmUserDefined08 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 8 is in alarm."
    ::= { tlpAlarmUserDefined 8 }

tlpAlarmUserDefined09 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 9 is in alarm."
    ::= { tlpAlarmUserDefined 9 }

tlpAlarmUserDefined10 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 10 is in alarm."
    ::= { tlpAlarmUserDefined 10 }

tlpAlarmUserDefined11 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 11 is in alarm."
    ::= { tlpAlarmUserDefined 11 }

tlpAlarmUserDefined12 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 12 is in alarm."
    ::= { tlpAlarmUserDefined 12 }

tlpAlarmUserDefined13 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 13 is in alarm."
    ::= { tlpAlarmUserDefined 13 }

tlpAlarmUserDefined14 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 14 is in alarm."
    ::= { tlpAlarmUserDefined 14 }

tlpAlarmUserDefined15 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 15 is in alarm."
    ::= { tlpAlarmUserDefined 15 }

tlpAlarmUserDefined16 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 16 is in alarm."
    ::= { tlpAlarmUserDefined 16 }

tlpAlarmUserDefined17 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 17 is in alarm."
    ::= { tlpAlarmUserDefined 17 }

tlpAlarmUserDefined18 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 18 is in alarm."
    ::= { tlpAlarmUserDefined 18 }

tlpAlarmUserDefined19 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 19 is in alarm."
    ::= { tlpAlarmUserDefined 19 }

tlpAlarmUserDefined20 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 20 is in alarm."
    ::= { tlpAlarmUserDefined 20 }

tlpAlarmUserDefined21 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 21 is in alarm."
    ::= { tlpAlarmUserDefined 21 }

tlpAlarmUserDefined22 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 22 is in alarm."
    ::= { tlpAlarmUserDefined 22 }

tlpAlarmUserDefined23 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 23 is in alarm."
    ::= { tlpAlarmUserDefined 23 }

tlpAlarmUserDefined24 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 24 is in alarm."
    ::= { tlpAlarmUserDefined 24 }

tlpAlarmUserDefined25 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 25 is in alarm."
    ::= { tlpAlarmUserDefined 25 }

tlpAlarmUserDefined26 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 26 is in alarm."
    ::= { tlpAlarmUserDefined 26 }

tlpAlarmUserDefined27 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 27 is in alarm."
    ::= { tlpAlarmUserDefined 27 }

tlpAlarmUserDefined28 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 28 is in alarm."
    ::= { tlpAlarmUserDefined 28 }

tlpAlarmUserDefined29 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 29 is in alarm."
    ::= { tlpAlarmUserDefined 29 }

tlpAlarmUserDefined30 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 30 is in alarm."
    ::= { tlpAlarmUserDefined 30 }

tlpAlarmUserDefined31 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 31 is in alarm."
    ::= { tlpAlarmUserDefined 31 }

tlpAlarmUserDefined32 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 32 is in alarm."
    ::= { tlpAlarmUserDefined 32 }

tlpAlarmUserDefined33 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 33 is in alarm."
    ::= { tlpAlarmUserDefined 33 }

tlpAlarmUserDefined34 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 34 is in alarm."
    ::= { tlpAlarmUserDefined 34 }

tlpAlarmUserDefined35 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 35 is in alarm."
    ::= { tlpAlarmUserDefined 35 }

tlpAlarmUserDefined36 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 36 is in alarm."
    ::= { tlpAlarmUserDefined 36 }

tlpAlarmUserDefined37 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 37 is in alarm."
    ::= { tlpAlarmUserDefined 37 }

tlpAlarmUserDefined38 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 38 is in alarm."
    ::= { tlpAlarmUserDefined 38 }

tlpAlarmUserDefined39 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 39 is in alarm."
    ::= { tlpAlarmUserDefined 39 }

tlpAlarmUserDefined40 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 40 is in alarm."
    ::= { tlpAlarmUserDefined 40 }

tlpAlarmUserDefined41 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 41 is in alarm."
    ::= { tlpAlarmUserDefined 41 }

tlpAlarmUserDefined42 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 42 is in alarm."
    ::= { tlpAlarmUserDefined 42 }

tlpAlarmUserDefined43 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 43 is in alarm."
    ::= { tlpAlarmUserDefined 43 }

tlpAlarmUserDefined44 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 44 is in alarm."
    ::= { tlpAlarmUserDefined 44 }

tlpAlarmUserDefined45 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 45 is in alarm."
    ::= { tlpAlarmUserDefined 45 }

tlpAlarmUserDefined46 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 46 is in alarm."
    ::= { tlpAlarmUserDefined 46 }

tlpAlarmUserDefined47 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 47 is in alarm."
    ::= { tlpAlarmUserDefined 47 }

tlpAlarmUserDefined48 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 48 is in alarm."
    ::= { tlpAlarmUserDefined 48 }

tlpAlarmUserDefined49 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 49 is in alarm."
    ::= { tlpAlarmUserDefined 49 }

tlpAlarmUserDefined50 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 50 is in alarm."
    ::= { tlpAlarmUserDefined 50 }

tlpAlarmUserDefined51 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 51 is in alarm."
    ::= { tlpAlarmUserDefined 51 }

tlpAlarmUserDefined52 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 52 is in alarm."
    ::= { tlpAlarmUserDefined 52 }

tlpAlarmUserDefined53 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 53 is in alarm."
    ::= { tlpAlarmUserDefined 53 }

tlpAlarmUserDefined54 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 54 is in alarm."
    ::= { tlpAlarmUserDefined 54 }

tlpAlarmUserDefined55 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 55 is in alarm."
    ::= { tlpAlarmUserDefined 55 }

tlpAlarmUserDefined56 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 56 is in alarm."
    ::= { tlpAlarmUserDefined 56 }

tlpAlarmUserDefined57 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 57 is in alarm."
    ::= { tlpAlarmUserDefined 57 }

tlpAlarmUserDefined58 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 58 is in alarm."
    ::= { tlpAlarmUserDefined 58 }

tlpAlarmUserDefined59 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 59 is in alarm."
    ::= { tlpAlarmUserDefined 59 }

tlpAlarmUserDefined60 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 60 is in alarm."
    ::= { tlpAlarmUserDefined 60 }

tlpAlarmUserDefined61 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 61 is in alarm."
    ::= { tlpAlarmUserDefined 61 }

tlpAlarmUserDefined62 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 62 is in alarm."
    ::= { tlpAlarmUserDefined 62 }

tlpAlarmUserDefined63 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 63 is in alarm."
    ::= { tlpAlarmUserDefined 63 }

tlpAlarmUserDefined64 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "User-defined event 64 is in alarm."
    ::= { tlpAlarmUserDefined 64 }

tlpAlarmInternalFirmwareError OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A problem has been encountered with the device firmware."
    ::= { tlpDeviceAlarms 3 }

tlpAlarmDeviceEEPROMFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A problem has been encountered with the device EEPROM."
    ::= { tlpDeviceAlarms 4 }

tlpUpsAlarmBatteryBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more batteries have been determined to require replacement."
    ::= { tlpUpsAlarms 1 }

tlpUpsAlarmOnBattery OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups is drawing power from the batteries."
    ::= { tlpUpsAlarms 2 }

tlpUpsAlarmLowBattery OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The remaining battery charge is less than or equal to the percentage of
        capacity warning specified by tlpUpsConfigBatteryCapacityThreshold."
    ::= { tlpUpsAlarms 3 }

tlpUpsAlarmDepletedBattery OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups will be unable to sustain the present load when and if
        the utility power is lost."
    ::= { tlpUpsAlarms 4 }

tlpUpsAlarmTempBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A temperature is out of tolerance."
    ::= { tlpUpsAlarms 5 }

tlpUpsAlarmInputBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An input condition is out of tolerance."
    ::= { tlpUpsAlarms 6 }

tlpUpsAlarmOutputBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An output condition (other than OutputOverload) is out of
        tolerance."
    ::= { tlpUpsAlarms 7 }

tlpUpsAlarmOutputOverload OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output load exceeds the ups output capacity."
    ::= { tlpUpsAlarms 8 }

tlpUpsAlarmOnBypass OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The Bypass is presently engaged on the ups."
    ::= { tlpUpsAlarms 9 }

tlpUpsAlarmBypassBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The Bypass is out of tolerance."
    ::= { tlpUpsAlarms 10 }

tlpUpsAlarmOutputOffAsRequested OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups has shutdown as requested, i.e., the output is off."
    ::= { tlpUpsAlarms 11 }

tlpUpsAlarmUpsOffAsRequested OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The entire ups has shutdown as commanded."
    ::= { tlpUpsAlarms 12 }

tlpUpsAlarmChargerFailed OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An uncorrected problem has been detected within the ups
        charger subsystem."
    ::= { tlpUpsAlarms 13 }

tlpUpsAlarmOutputOff OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output of the ups is in the off state."
    ::= { tlpUpsAlarms 14 }

tlpUpsAlarmUpsOff OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups is in the off state."
    ::= { tlpUpsAlarms 15 }

tlpUpsAlarmFanFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The failure of one or more fans in the ups has been detected."
    ::= { tlpUpsAlarms 16 }

tlpUpsAlarmFuseFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The failure of one or more fuses has been detected."
    ::= { tlpUpsAlarms 17 }

tlpUpsAlarmGeneralFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A general fault in the ups has been detected."
    ::= { tlpUpsAlarms 18 }

tlpUpsAlarmDiagnosticTestFailed OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The result of the last diagnostic test indicates a failure."
    ::= { tlpUpsAlarms 19 }

tlpUpsAlarmAwaitingPower OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups output is off and the ups is awaiting the return of
        input power."
    ::= { tlpUpsAlarms 20 }

tlpUpsAlarmShutdownPending OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A tlpUpsShutdownAfterDelay countdown is underway."
    ::= { tlpUpsAlarms 21 }

tlpUpsAlarmShutdownImminent OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups will turn off power to the load in less than 5 seconds;
        this may be either a timed shutdown or a low battery shutdown."
    ::= { tlpUpsAlarms 22 }

tlpUpsAlarmLoadLevelAboveThreshold OBJECT IDENTIFIER
    ::= { tlpUpsAlarms 23 }

tlpUpsAlarmLoadLevelAboveThresholdTotal OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The total load (output utilization) level is above the designated threshold."
    ::= { tlpUpsAlarmLoadLevelAboveThreshold 1 }

tlpUpsAlarmLoadLevelAboveThresholdPhase1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load (output utilization) level on phase 1 exceeds load limits."
    ::= { tlpUpsAlarmLoadLevelAboveThreshold 2 }

tlpUpsAlarmLoadLevelAboveThresholdPhase2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load (output utilization) level on phase 2 exceeds load limits."
    ::= { tlpUpsAlarmLoadLevelAboveThreshold 3 }

tlpUpsAlarmLoadLevelAboveThresholdPhase3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load (output utilization) level on phase 3 exceeds load limits."
    ::= { tlpUpsAlarmLoadLevelAboveThreshold 4 }

tlpUpsAlarmOutputCurrentChanged OBJECT-IDENTITY
    STATUS deprecated
    DESCRIPTION
        "The output current changed from its last known value."
    ::= { tlpUpsAlarms 24 }

tlpUpsAlarmBatteryAgeAboveThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more batteries have been determined to require replacement."
    ::= { tlpUpsAlarms 25 }

tlpUpsAlarmLoadOff OBJECT IDENTIFIER
    ::= { tlpUpsAlarms 26 }

tlpUpsAlarmLoadOff01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 1 is off."
    ::= { tlpUpsAlarmLoadOff 1 }

tlpUpsAlarmLoadOff02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 2 is off."
    ::= { tlpUpsAlarmLoadOff 2 }

tlpUpsAlarmLoadOff03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 3 is off."
    ::= { tlpUpsAlarmLoadOff 3 }

tlpUpsAlarmLoadOff04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 4 is off."
    ::= { tlpUpsAlarmLoadOff 4 }

tlpUpsAlarmLoadOff05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 5 is off."
    ::= { tlpUpsAlarmLoadOff 5 }

tlpUpsAlarmLoadOff06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 6 is off."
    ::= { tlpUpsAlarmLoadOff 6 }

tlpUpsAlarmLoadOff07 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 7 is off."
    ::= { tlpUpsAlarmLoadOff 7 }

tlpUpsAlarmLoadOff08 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 8 is off."
    ::= { tlpUpsAlarmLoadOff 8 }

tlpUpsAlarmLoadOff09 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 9 is off."
    ::= { tlpUpsAlarmLoadOff 9 }

tlpUpsAlarmLoadOff10 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 10 is off."
    ::= { tlpUpsAlarmLoadOff 10 }

tlpUpsAlarmLoadOff11 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 11 is off."
    ::= { tlpUpsAlarmLoadOff 11 }

tlpUpsAlarmLoadOff12 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 12 is off."
    ::= { tlpUpsAlarmLoadOff 12 }

tlpUpsAlarmLoadOff13 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 13 is off."
    ::= { tlpUpsAlarmLoadOff 13 }

tlpUpsAlarmLoadOff14 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 14 is off."
    ::= { tlpUpsAlarmLoadOff 14 }

tlpUpsAlarmLoadOff15 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 15 is off."
    ::= { tlpUpsAlarmLoadOff 15 }

tlpUpsAlarmLoadOff16 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 16 is off."
    ::= { tlpUpsAlarmLoadOff 16 }

tlpUpsAlarmLoadOff17 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 17 is off."
    ::= { tlpUpsAlarmLoadOff 17 }

tlpUpsAlarmLoadOff18 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 18 is off."
    ::= { tlpUpsAlarmLoadOff 18 }

tlpUpsAlarmLoadOff19 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 19 is off."
    ::= { tlpUpsAlarmLoadOff 19 }

tlpUpsAlarmLoadOff20 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 20 is off."
    ::= { tlpUpsAlarmLoadOff 20 }

tlpUpsAlarmLoadOff21 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 21 is off."
    ::= { tlpUpsAlarmLoadOff 21 }

tlpUpsAlarmLoadOff22 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 22 is off."
    ::= { tlpUpsAlarmLoadOff 22 }

tlpUpsAlarmLoadOff23 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 23 is off."
    ::= { tlpUpsAlarmLoadOff 23 }

tlpUpsAlarmLoadOff24 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 24 is off."
    ::= { tlpUpsAlarmLoadOff 24 }

tlpUpsAlarmLoadOff25 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 25 is off."
    ::= { tlpUpsAlarmLoadOff 25 }

tlpUpsAlarmLoadOff26 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 26 is off."
    ::= { tlpUpsAlarmLoadOff 26 }

tlpUpsAlarmLoadOff27 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 27 is off."
    ::= { tlpUpsAlarmLoadOff 27 }

tlpUpsAlarmLoadOff28 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 28 is off."
    ::= { tlpUpsAlarmLoadOff 28 }

tlpUpsAlarmLoadOff29 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 29 is off."
    ::= { tlpUpsAlarmLoadOff 29 }

tlpUpsAlarmLoadOff30 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 30 is off."
    ::= { tlpUpsAlarmLoadOff 30 }

tlpUpsAlarmLoadOff31 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 31 is off."
    ::= { tlpUpsAlarmLoadOff 31 }

tlpUpsAlarmLoadOff32 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 32 is off."
    ::= { tlpUpsAlarmLoadOff 32 }

tlpUpsAlarmLoadOff33 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 33 is off."
    ::= { tlpUpsAlarmLoadOff 33 }

tlpUpsAlarmLoadOff34 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 34 is off."
    ::= { tlpUpsAlarmLoadOff 34 }

tlpUpsAlarmLoadOff35 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 35 is off."
    ::= { tlpUpsAlarmLoadOff 35 }

tlpUpsAlarmLoadOff36 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 36 is off."
    ::= { tlpUpsAlarmLoadOff 36 }

tlpUpsAlarmLoadOff37 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 37 is off."
    ::= { tlpUpsAlarmLoadOff 37 }

tlpUpsAlarmLoadOff38 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 38 is off."
    ::= { tlpUpsAlarmLoadOff 38 }

tlpUpsAlarmLoadOff39 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 39 is off."
    ::= { tlpUpsAlarmLoadOff 39 }

tlpUpsAlarmLoadOff40 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 40 is off."
    ::= { tlpUpsAlarmLoadOff 40 }

tlpUpsAlarmLoadOff41 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 41 is off."
    ::= { tlpUpsAlarmLoadOff 41 }

tlpUpsAlarmLoadOff42 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 42 is off."
    ::= { tlpUpsAlarmLoadOff 42 }

tlpUpsAlarmLoadOff43 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 43 is off."
    ::= { tlpUpsAlarmLoadOff 43 }

tlpUpsAlarmLoadOff44 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 44 is off."
    ::= { tlpUpsAlarmLoadOff 44 }

tlpUpsAlarmLoadOff45 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 45 is off."
    ::= { tlpUpsAlarmLoadOff 45 }

tlpUpsAlarmLoadOff46 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 46 is off."
    ::= { tlpUpsAlarmLoadOff 46 }

tlpUpsAlarmLoadOff47 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 47 is off."
    ::= { tlpUpsAlarmLoadOff 47 }

tlpUpsAlarmLoadOff48 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 48 is off."
    ::= { tlpUpsAlarmLoadOff 48 }

tlpUpsAlarmCurrentAboveThreshold OBJECT IDENTIFIER
    ::= { tlpUpsAlarms 27 }

tlpUpsAlarmCurrentAboveThreshold1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 1 or l1-l2 exceeds load limits."
    ::= { tlpUpsAlarmCurrentAboveThreshold 1 }

tlpUpsAlarmCurrentAboveThreshold2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 2 or l2-l3 exceeds load limits."
    ::= { tlpUpsAlarmCurrentAboveThreshold 2 }

tlpUpsAlarmCurrentAboveThreshold3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 3 or l3-l1 exceeds load limits."
    ::= { tlpUpsAlarmCurrentAboveThreshold 3 }

tlpUpsAlarmCurrentAboveThreshold4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l1-n exceeds load limits."
    ::= { tlpUpsAlarmCurrentAboveThreshold 4 }

tlpUpsAlarmCurrentAboveThreshold5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l2-n exceeds load limits."
    ::= { tlpUpsAlarmCurrentAboveThreshold 5 }

tlpUpsAlarmCurrentAboveThreshold6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l3-n exceeds load limits."
    ::= { tlpUpsAlarmCurrentAboveThreshold 6 }

tlpUpsAlarmRuntimeBelowWarningLevel OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery seconds remaining is below warning level."
    ::= { tlpUpsAlarms 28 }

tlpUpsAlarmBusStartVoltageLow OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter start up bus voltage is too low."
    ::= { tlpUpsAlarms 29 }

tlpUpsAlarmBusOverVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter bus voltage is too high."
    ::= { tlpUpsAlarms 30 }

tlpUpsAlarmBusUnderVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter bus voltage is too low."
    ::= { tlpUpsAlarms 31 }

tlpUpsAlarmBusVoltageUnbalanced OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter bus voltage is not balanced."
    ::= { tlpUpsAlarms 32 }

tlpUpsAlarmInverterSoftStartBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter bus voltage cannot reach desired voltage within a
        specified duration."
    ::= { tlpUpsAlarms 33 }

tlpUpsAlarmInverterOverVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter voltage is too high."
    ::= { tlpUpsAlarms 34 }

tlpUpsAlarmInverterUnderVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter voltage is too low."
    ::= { tlpUpsAlarms 35 }

tlpUpsAlarmInverterCircuitBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter output is shorted."
    ::= { tlpUpsAlarms 36 }

tlpUpsAlarmBatteryOverVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery voltage is too high."
    ::= { tlpUpsAlarms 37 }

tlpUpsAlarmBatteryUnderVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery voltage is too low."
    ::= { tlpUpsAlarms 38 }

tlpUpsAlarmSiteWiringFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The utility input wiring is faulty."
    ::= { tlpUpsAlarms 39 }

tlpUpsAlarmOverTemperatureProtection OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The over temperature protection is activated."
    ::= { tlpUpsAlarms 40 }

tlpUpsAlarmOverCharged OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The ups is over charged."
    ::= { tlpUpsAlarms 41 }

tlpUpsAlarmEPOActive OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The EPO is currently activated."
    ::= { tlpUpsAlarms 42 }

tlpUpsAlarmBypassFrequencyBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The bypass frequency is out of tolerance."
    ::= { tlpUpsAlarms 43 }

tlpUpsAlarmExternalSmartBatteryAgeAboveThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more external smart batteries have been determined to require
        replacement."
    ::= { tlpUpsAlarms 44 }

tlpUpsAlarmExternalNonSmartBatteryAgeAboveThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more external non-smart batteries have been determined to require
        replacement."
    ::= { tlpUpsAlarms 45 }

tlpUpsAlarmInternalSmartBatteryCommLost OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Communications with the internal smart batteries was lost."
    ::= { tlpUpsAlarms 46 }

tlpUpsAlarmLoadsNotAllOn OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One of more loads are not on."
    ::= { tlpUpsAlarms 47 }

tlpUpsAlarmBatteryTemperatureHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery temperature is high."
    ::= { tlpUpsAlarms 48 }

tlpUpsAlarmBatteryTemperatureLow OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery temperature is low."
    ::= { tlpUpsAlarms 49 }

tlpUpsAlarmBatteryDisconnected OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery disconnected."
    ::= { tlpUpsAlarms 50 }

tlpUpsAlarmBatteryTemperatureSensorDisconnected OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The battery temperature sensor disconnected."
    ::= { tlpUpsAlarms 51 }

tlpUpsAlarmTemperatureDerating 	OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Power derating due to high environment temperature."
    ::= { tlpUpsAlarms 52 }

tlpUpsAlarmInputContact OBJECT IDENTIFIER
    ::= { tlpUpsAlarms 53 }

tlpUpsAlarmInputContact1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input contact 1 in alarm."
    ::= { tlpUpsAlarmInputContact 1 }

tlpUpsAlarmOutputContact OBJECT IDENTIFIER
    ::= { tlpUpsAlarms 54 }

tlpUpsAlarmOutputContact1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 1 in alarm."
    ::= { tlpUpsAlarmOutputContact 1 }

tlpUpsAlarmOutputContact2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 2 in alarm."
    ::= { tlpUpsAlarmOutputContact 2 }

tlpUpsAlarmOutputContact3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 3 in alarm."
    ::= { tlpUpsAlarmOutputContact 3 }

tlpUpsAlarmOutputContact4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 4 in alarm."
    ::= { tlpUpsAlarmOutputContact 4 }

tlpUpsAlarmOutputContact5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 5 in alarm."
    ::= { tlpUpsAlarmOutputContact 5 }

tlpUpsAlarmOutputContact6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 6 in alarm."
    ::= { tlpUpsAlarmOutputContact 6 }

tlpUpsAlarmCurrentBelowThreshold OBJECT IDENTIFIER
    ::= { tlpUpsAlarms 55 }

tlpUpsAlarmCurrentBelowThreshold1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 1 or l1-l2 is below load limits."
    ::= { tlpUpsAlarmCurrentBelowThreshold 1 }

tlpUpsAlarmCurrentBelowThreshold2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 2 or l2-l3 is below load limits."
    ::= { tlpUpsAlarmCurrentBelowThreshold 2 }

tlpUpsAlarmCurrentBelowThreshold3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 3 or l3-l1 is below load limits."
    ::= { tlpUpsAlarmCurrentBelowThreshold 3 }

tlpUpsAlarmCurrentBelowThreshold4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l1-n is below load limits."
    ::= { tlpUpsAlarmCurrentBelowThreshold 4 }

tlpUpsAlarmCurrentBelowThreshold5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l2-n is below load limits."
    ::= { tlpUpsAlarmCurrentBelowThreshold 5 }

tlpUpsAlarmCurrentBelowThreshold6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l3-n is below load limits."
    ::= { tlpUpsAlarmCurrentBelowThreshold 6 }

tlpPduAlarmLoadLevelAboveThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load level is above the designated threshold."
    ::= { tlpPduAlarms 1 }

tlpPduAlarmInputBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An input condition is out of tolerance."
    ::= { tlpPduAlarms 2 }

tlpPduAlarmOutputBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An output condition (other than OutputOverload) is  out of
        tolerance."
    ::= { tlpPduAlarms 3 }

tlpPduAlarmOutputOverload OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output load exceeds the pdu output capacity."
    ::= { tlpPduAlarms 4 }

tlpPduAlarmOutputOff OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output of the pdu is in the off state."
    ::= { tlpPduAlarms 5 }

tlpPduAlarmLoadOff OBJECT IDENTIFIER
    ::= { tlpPduAlarms 6 }

tlpPduAlarmLoadOff01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 1 is off."
    ::= { tlpPduAlarmLoadOff 1 }

tlpPduAlarmLoadOff02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 2 is off."
    ::= { tlpPduAlarmLoadOff 2 }

tlpPduAlarmLoadOff03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 3 is off."
    ::= { tlpPduAlarmLoadOff 3 }

tlpPduAlarmLoadOff04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 4 is off."
    ::= { tlpPduAlarmLoadOff 4 }

tlpPduAlarmLoadOff05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 5 is off."
    ::= { tlpPduAlarmLoadOff 5 }

tlpPduAlarmLoadOff06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 6 is off."
    ::= { tlpPduAlarmLoadOff 6 }

tlpPduAlarmLoadOff07 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 7 is off."
    ::= { tlpPduAlarmLoadOff 7 }

tlpPduAlarmLoadOff08 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 8 is off."
    ::= { tlpPduAlarmLoadOff 8 }

tlpPduAlarmLoadOff09 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 9 is off."
    ::= { tlpPduAlarmLoadOff 9 }

tlpPduAlarmLoadOff10 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 10 is off."
    ::= { tlpPduAlarmLoadOff 10 }

tlpPduAlarmLoadOff11 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 11 is off."
    ::= { tlpPduAlarmLoadOff 11 }

tlpPduAlarmLoadOff12 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 12 is off."
    ::= { tlpPduAlarmLoadOff 12 }

tlpPduAlarmLoadOff13 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 13 is off."
    ::= { tlpPduAlarmLoadOff 13 }

tlpPduAlarmLoadOff14 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 14 is off."
    ::= { tlpPduAlarmLoadOff 14 }

tlpPduAlarmLoadOff15 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 15 is off."
    ::= { tlpPduAlarmLoadOff 15 }

tlpPduAlarmLoadOff16 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 16 is off."
    ::= { tlpPduAlarmLoadOff 16 }

tlpPduAlarmLoadOff17 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 17 is off."
    ::= { tlpPduAlarmLoadOff 17 }

tlpPduAlarmLoadOff18 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 18 is off."
    ::= { tlpPduAlarmLoadOff 18 }

tlpPduAlarmLoadOff19 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 19 is off."
    ::= { tlpPduAlarmLoadOff 19 }

tlpPduAlarmLoadOff20 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 20 is off."
    ::= { tlpPduAlarmLoadOff 20 }

tlpPduAlarmLoadOff21 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 21 is off."
    ::= { tlpPduAlarmLoadOff 21 }

tlpPduAlarmLoadOff22 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 22 is off."
    ::= { tlpPduAlarmLoadOff 22 }

tlpPduAlarmLoadOff23 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 23 is off."
    ::= { tlpPduAlarmLoadOff 23 }

tlpPduAlarmLoadOff24 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 24 is off."
    ::= { tlpPduAlarmLoadOff 24 }

tlpPduAlarmLoadOff25 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 25 is off."
    ::= { tlpPduAlarmLoadOff 25 }

tlpPduAlarmLoadOff26 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 26 is off."
    ::= { tlpPduAlarmLoadOff 26 }

tlpPduAlarmLoadOff27 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 27 is off."
    ::= { tlpPduAlarmLoadOff 27 }

tlpPduAlarmLoadOff28 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 28 is off."
    ::= { tlpPduAlarmLoadOff 28 }

tlpPduAlarmLoadOff29 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 29 is off."
    ::= { tlpPduAlarmLoadOff 29 }

tlpPduAlarmLoadOff30 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 30 is off."
    ::= { tlpPduAlarmLoadOff 30 }

tlpPduAlarmLoadOff31 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 31 is off."
    ::= { tlpPduAlarmLoadOff 31 }

tlpPduAlarmLoadOff32 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 32 is off."
    ::= { tlpPduAlarmLoadOff 32 }

tlpPduAlarmLoadOff33 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 33 is off."
    ::= { tlpPduAlarmLoadOff 33 }

tlpPduAlarmLoadOff34 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 34 is off."
    ::= { tlpPduAlarmLoadOff 34 }

tlpPduAlarmLoadOff35 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 35 is off."
    ::= { tlpPduAlarmLoadOff 35 }

tlpPduAlarmLoadOff36 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 36 is off."
    ::= { tlpPduAlarmLoadOff 36 }

tlpPduAlarmLoadOff37 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 37 is off."
    ::= { tlpPduAlarmLoadOff 37 }

tlpPduAlarmLoadOff38 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 38 is off."
    ::= { tlpPduAlarmLoadOff 38 }

tlpPduAlarmLoadOff39 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 39 is off."
    ::= { tlpPduAlarmLoadOff 39 }

tlpPduAlarmLoadOff40 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 40 is off."
    ::= { tlpPduAlarmLoadOff 40 }

tlpPduAlarmLoadOff41 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 41 is off."
    ::= { tlpPduAlarmLoadOff 41 }

tlpPduAlarmLoadOff42 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 42 is off."
    ::= { tlpPduAlarmLoadOff 42 }

tlpPduAlarmLoadOff43 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 43 is off."
    ::= { tlpPduAlarmLoadOff 43 }

tlpPduAlarmLoadOff44 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 44 is off."
    ::= { tlpPduAlarmLoadOff 44 }

tlpPduAlarmLoadOff45 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 45 is off."
    ::= { tlpPduAlarmLoadOff 45 }

tlpPduAlarmLoadOff46 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 46 is off."
    ::= { tlpPduAlarmLoadOff 46 }

tlpPduAlarmLoadOff47 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 47 is off."
    ::= { tlpPduAlarmLoadOff 47 }

tlpPduAlarmLoadOff48 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 48 is off."
    ::= { tlpPduAlarmLoadOff 48 }

tlpPduAlarmCircuitBreakerOpen OBJECT IDENTIFIER
    ::= { tlpPduAlarms 7 }

tlpPduAlarmCircuitBreakerOpen01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 1 is open."
    ::= { tlpPduAlarmCircuitBreakerOpen 1 }

tlpPduAlarmCircuitBreakerOpen02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 2 is open."
    ::= { tlpPduAlarmCircuitBreakerOpen 2 }

tlpPduAlarmCircuitBreakerOpen03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 3 is open."
    ::= { tlpPduAlarmCircuitBreakerOpen 3 }

tlpPduAlarmCircuitBreakerOpen04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 4 is open."
    ::= { tlpPduAlarmCircuitBreakerOpen 4 }

tlpPduAlarmCircuitBreakerOpen05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 5 is open."
    ::= { tlpPduAlarmCircuitBreakerOpen 5 }

tlpPduAlarmCircuitBreakerOpen06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 6 is open."
    ::= { tlpPduAlarmCircuitBreakerOpen 6 }

tlpPduAlarmCurrentAboveThreshold OBJECT IDENTIFIER
    ::= { tlpPduAlarms 8 }

tlpPduAlarmCurrentAboveThreshold1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 1 or l1-l2 exceeds load limits."
    ::= { tlpPduAlarmCurrentAboveThreshold 1 }

tlpPduAlarmCurrentAboveThreshold2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 2 or l2-l3 exceeds load limits."
    ::= { tlpPduAlarmCurrentAboveThreshold 2 }

tlpPduAlarmCurrentAboveThreshold3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 3 or l3-l1 exceeds load limits."
    ::= { tlpPduAlarmCurrentAboveThreshold 3 }

tlpPduAlarmCurrentAboveThreshold4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l1-n exceeds load limits."
    ::= { tlpPduAlarmCurrentAboveThreshold 4 }

tlpPduAlarmCurrentAboveThreshold5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l2-n exceeds load limits."
    ::= { tlpPduAlarmCurrentAboveThreshold 5 }

tlpPduAlarmCurrentAboveThreshold6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l3-n exceeds load limits."
    ::= { tlpPduAlarmCurrentAboveThreshold 6 }

tlpPduAlarmLoadsNotAllOn OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One of more loads are not on."
    ::= { tlpPduAlarms 9 }

tlpPduAlarmLoadLevelBelowThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load level is below the designated threshold."
    ::= { tlpPduAlarms 10 }

tlpPduAlarmCurrentBelowThreshold OBJECT IDENTIFIER
    ::= { tlpPduAlarms 11 }

tlpPduAlarmCurrentBelowThreshold1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 1 or l1-l2 is below load limits."
    ::= { tlpPduAlarmCurrentBelowThreshold 1 }

tlpPduAlarmCurrentBelowThreshold2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 2 or l2-l3 is below load limits."
    ::= { tlpPduAlarmCurrentBelowThreshold 2 }

tlpPduAlarmCurrentBelowThreshold3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 3 or l3-l1 is below load limits."
    ::= { tlpPduAlarmCurrentBelowThreshold 3 }

tlpPduAlarmCurrentBelowThreshold4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l1-n is below load limits."
    ::= { tlpPduAlarmCurrentBelowThreshold 4 }

tlpPduAlarmCurrentBelowThreshold5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l2-n is below load limits."
    ::= { tlpPduAlarmCurrentBelowThreshold 5 }

tlpPduAlarmCurrentBelowThreshold6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l3-n is below load limits."
    ::= { tlpPduAlarmCurrentBelowThreshold 6 }

tlpPduAlarmThdOutOfRange OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The thd value is out of range."
    ::= { tlpPduAlarms 12 }

tlpPduAlarmGeneralFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A general fault in the pdu has been detected."
    ::= { tlpPduAlarms 13 }

tlpPduAlarmOutletOverCurrent OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more outlets is above load limits."
    ::= { tlpPduAlarms 14 }

tlpEnvAlarmTemperatureBeyondLimits OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The temperature exceeds limits."
    ::= { tlpEnvAlarms 1 }

tlpEnvAlarmHumidityBeyondLimits OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The humidity exceeds limits."
    ::= { tlpEnvAlarms 2 }

tlpEnvAlarmInputContact OBJECT IDENTIFIER
    ::= { tlpEnvAlarms 3 }

tlpEnvAlarmInputContact01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input contact 1 is in alarm."
    ::= { tlpEnvAlarmInputContact 1 }

tlpEnvAlarmInputContact02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input contact 2 is in alarm."
    ::= { tlpEnvAlarmInputContact 2 }

tlpEnvAlarmInputContact03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input contact 3 is in alarm."
    ::= { tlpEnvAlarmInputContact 3 }

tlpEnvAlarmInputContact04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input contact 4 is in alarm."
    ::= { tlpEnvAlarmInputContact 4 }

tlpEnvAlarmOutputContact OBJECT IDENTIFIER
    ::= { tlpEnvAlarms 4 }

tlpEnvAlarmOutputContact01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 1 is in alarm."
    ::= { tlpEnvAlarmOutputContact 1 }

tlpEnvAlarmOutputContact02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 2 is in alarm."
    ::= { tlpEnvAlarmOutputContact 2 }

tlpEnvAlarmOutputContact03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 3 is in alarm."
    ::= { tlpEnvAlarmOutputContact 3 }

tlpEnvAlarmOutputContact04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Output contact 4 is in alarm."
    ::= { tlpEnvAlarmOutputContact 4 }

tlpAtsAlarmOutage OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 1 }

tlpAtsAlarmSource1Outage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input on source 1 is not present. For atss with the designation
        of primary and secondary, this alarm denotes input on the primary
        source is not present."
    ::= { tlpAtsAlarmOutage 1 }

tlpAtsAlarmSource2Outage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Input on source 2 is not present. For atss with the designation
        of primary and secondary, this alarm denotes input on the secondary
        source is not present."
    ::= { tlpAtsAlarmOutage 2 }

tlpAtsAlarmTemperature OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 2 }

tlpAtsAlarmDeviceTemperature OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The device temperature is out of tolerance."
    ::= { tlpAtsAlarmTemperature 1 }

tlpAtsAlarmSource1Temperature OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The source 1 temperature is out of tolerance."
    ::= { tlpAtsAlarmTemperature 2 }

tlpAtsAlarmSource2Temperature OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The source 2 temperature is out of tolerance."
    ::= { tlpAtsAlarmTemperature 3 }

tlpAtsAlarmLoadLevelAboveThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load level is above the designated threshold."
    ::= { tlpAtsAlarms 3 }

tlpAtsAlarmInputBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An input condition is out of tolerance."
    ::= { tlpAtsAlarms 4 }

tlpAtsAlarmOutputBad OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "An output condition (other than OutputOverload) is  out of
        tolerance."
    ::= { tlpAtsAlarms 5 }

tlpAtsAlarmOutputOverload OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output load exceeds the ats output capacity."
    ::= { tlpAtsAlarms 6 }

tlpAtsAlarmOutputOff OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output of the ats is in the off state."
    ::= { tlpAtsAlarms 7 }

tlpAtsAlarmLoadOff OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 8 }

tlpAtsAlarmLoadOff01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 1 is off."
    ::= { tlpAtsAlarmLoadOff 1 }

tlpAtsAlarmLoadOff02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 2 is off."
    ::= { tlpAtsAlarmLoadOff 2 }

tlpAtsAlarmLoadOff03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 3 is off."
    ::= { tlpAtsAlarmLoadOff 3 }

tlpAtsAlarmLoadOff04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 4 is off."
    ::= { tlpAtsAlarmLoadOff 4 }

tlpAtsAlarmLoadOff05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 5 is off."
    ::= { tlpAtsAlarmLoadOff 5 }

tlpAtsAlarmLoadOff06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 6 is off."
    ::= { tlpAtsAlarmLoadOff 6 }

tlpAtsAlarmLoadOff07 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 7 is off."
    ::= { tlpAtsAlarmLoadOff 7 }

tlpAtsAlarmLoadOff08 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 8 is off."
    ::= { tlpAtsAlarmLoadOff 8 }

tlpAtsAlarmLoadOff09 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 9 is off."
    ::= { tlpAtsAlarmLoadOff 9 }

tlpAtsAlarmLoadOff10 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 10 is off."
    ::= { tlpAtsAlarmLoadOff 10 }

tlpAtsAlarmLoadOff11 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 11 is off."
    ::= { tlpAtsAlarmLoadOff 11 }

tlpAtsAlarmLoadOff12 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 12 is off."
    ::= { tlpAtsAlarmLoadOff 12 }

tlpAtsAlarmLoadOff13 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 13 is off."
    ::= { tlpAtsAlarmLoadOff 13 }

tlpAtsAlarmLoadOff14 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 14 is off."
    ::= { tlpAtsAlarmLoadOff 14 }

tlpAtsAlarmLoadOff15 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 15 is off."
    ::= { tlpAtsAlarmLoadOff 15 }

tlpAtsAlarmLoadOff16 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 16 is off."
    ::= { tlpAtsAlarmLoadOff 16 }

tlpAtsAlarmLoadOff17 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 17 is off."
    ::= { tlpAtsAlarmLoadOff 17 }

tlpAtsAlarmLoadOff18 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 18 is off."
    ::= { tlpAtsAlarmLoadOff 18 }

tlpAtsAlarmLoadOff19 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 19 is off."
    ::= { tlpAtsAlarmLoadOff 19 }

tlpAtsAlarmLoadOff20 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 20 is off."
    ::= { tlpAtsAlarmLoadOff 20 }

tlpAtsAlarmLoadOff21 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 21 is off."
    ::= { tlpAtsAlarmLoadOff 21 }

tlpAtsAlarmLoadOff22 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 22 is off."
    ::= { tlpAtsAlarmLoadOff 22 }

tlpAtsAlarmLoadOff23 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 23 is off."
    ::= { tlpAtsAlarmLoadOff 23 }

tlpAtsAlarmLoadOff24 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 24 is off."
    ::= { tlpAtsAlarmLoadOff 24 }

tlpAtsAlarmLoadOff25 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 25 is off."
    ::= { tlpAtsAlarmLoadOff 25 }

tlpAtsAlarmLoadOff26 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 26 is off."
    ::= { tlpAtsAlarmLoadOff 26 }

tlpAtsAlarmLoadOff27 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 27 is off."
    ::= { tlpAtsAlarmLoadOff 27 }

tlpAtsAlarmLoadOff28 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 28 is off."
    ::= { tlpAtsAlarmLoadOff 28 }

tlpAtsAlarmLoadOff29 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 29 is off."
    ::= { tlpAtsAlarmLoadOff 29 }

tlpAtsAlarmLoadOff30 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 30 is off."
    ::= { tlpAtsAlarmLoadOff 30 }

tlpAtsAlarmLoadOff31 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 31 is off."
    ::= { tlpAtsAlarmLoadOff 31 }

tlpAtsAlarmLoadOff32 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 32 is off."
    ::= { tlpAtsAlarmLoadOff 32 }

tlpAtsAlarmLoadOff33 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 33 is off."
    ::= { tlpAtsAlarmLoadOff 33 }

tlpAtsAlarmLoadOff34 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 34 is off."
    ::= { tlpAtsAlarmLoadOff 34 }

tlpAtsAlarmLoadOff35 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 35 is off."
    ::= { tlpAtsAlarmLoadOff 35 }

tlpAtsAlarmLoadOff36 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 36 is off."
    ::= { tlpAtsAlarmLoadOff 36 }

tlpAtsAlarmLoadOff37 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 37 is off."
    ::= { tlpAtsAlarmLoadOff 37 }

tlpAtsAlarmLoadOff38 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 38 is off."
    ::= { tlpAtsAlarmLoadOff 38 }

tlpAtsAlarmLoadOff39 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 39 is off."
    ::= { tlpAtsAlarmLoadOff 39 }

tlpAtsAlarmLoadOff40 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 40 is off."
    ::= { tlpAtsAlarmLoadOff 40 }

tlpAtsAlarmLoadOff41 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 41 is off."
    ::= { tlpAtsAlarmLoadOff 41 }

tlpAtsAlarmLoadOff42 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 42 is off."
    ::= { tlpAtsAlarmLoadOff 42 }

tlpAtsAlarmLoadOff43 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 43 is off."
    ::= { tlpAtsAlarmLoadOff 43 }

tlpAtsAlarmLoadOff44 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 44 is off."
    ::= { tlpAtsAlarmLoadOff 44 }

tlpAtsAlarmLoadOff45 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 45 is off."
    ::= { tlpAtsAlarmLoadOff 45 }

tlpAtsAlarmLoadOff46 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 46 is off."
    ::= { tlpAtsAlarmLoadOff 46 }

tlpAtsAlarmLoadOff47 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 47 is off."
    ::= { tlpAtsAlarmLoadOff 47 }

tlpAtsAlarmLoadOff48 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Load 48 is off."
    ::= { tlpAtsAlarmLoadOff 48 }

tlpAtsAlarmCircuitBreakerOpen OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 9 }

tlpAtsAlarmCircuitBreakerOpen01 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 1 is open."
    ::= { tlpAtsAlarmCircuitBreakerOpen 1 }

tlpAtsAlarmCircuitBreakerOpen02 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 2 is open."
    ::= { tlpAtsAlarmCircuitBreakerOpen 2 }

tlpAtsAlarmCircuitBreakerOpen03 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 3 is open."
    ::= { tlpAtsAlarmCircuitBreakerOpen 3 }

tlpAtsAlarmCircuitBreakerOpen04 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 4 is open."
    ::= { tlpAtsAlarmCircuitBreakerOpen 4 }

tlpAtsAlarmCircuitBreakerOpen05 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 5 is open."
    ::= { tlpAtsAlarmCircuitBreakerOpen 5 }

tlpAtsAlarmCircuitBreakerOpen06 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Circuit breaker 6 is open."
    ::= { tlpAtsAlarmCircuitBreakerOpen 6 }

tlpAtsAlarmCurrentAboveThreshold OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 10 }

tlpAtsAlarmCurrentAboveThreshold1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 1 or l1-l2 exceeds load limits."
    ::= { tlpAtsAlarmCurrentAboveThreshold 1 }

tlpAtsAlarmCurrentAboveThreshold2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 2 or l2-l3 exceeds load limits."
    ::= { tlpAtsAlarmCurrentAboveThreshold 2 }

tlpAtsAlarmCurrentAboveThreshold3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 3 or l3-l1 exceeds load limits."
    ::= { tlpAtsAlarmCurrentAboveThreshold 3 }

tlpAtsAlarmCurrentAboveThreshold4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l1-n exceeds load limits."
    ::= { tlpAtsAlarmCurrentAboveThreshold 4 }

tlpAtsAlarmCurrentAboveThreshold5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l2-n exceeds load limits."
    ::= { tlpAtsAlarmCurrentAboveThreshold 5 }

tlpAtsAlarmCurrentAboveThreshold6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l3-n exceeds load limits."
    ::= { tlpAtsAlarmCurrentAboveThreshold 6 }

tlpAtsAlarmLoadsNotAllOn OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One of more loads are not on."
    ::= { tlpAtsAlarms 11 }

tlpAtsAlarmGeneralFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A general fault in the ats has been detected."
    ::= { tlpAtsAlarms 12 }

tlpAtsAlarmVoltage OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 13 }

tlpAtsAlarmOverVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The input voltage is out of tolerance."
    ::= { tlpAtsAlarmVoltage 1 }

tlpAtsAlarmSource1OverVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The voltage on source 1 is out of tolerance."
    ::= { tlpAtsAlarmVoltage 2 }

tlpAtsAlarmSource2OverVoltage OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The voltage on source 2 is out of tolerance."
    ::= { tlpAtsAlarmVoltage 3 }

tlpAtsAlarmFrequency OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 14 }

tlpAtsAlarmSource1InvalidFrequency OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The voltage on source 1 is out of tolerance."
    ::= { tlpAtsAlarmFrequency 1 }

tlpAtsAlarmSource2InvalidFrequency OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The voltage on source 2 is out of tolerance."
    ::= { tlpAtsAlarmFrequency 2 }

tlpAtsAlarmLoadLevelBelowThreshold OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The load level is below the designated threshold."
    ::= {  tlpAtsAlarms 15 }

tlpAtsAlarmCurrentBelowThreshold OBJECT IDENTIFIER
    ::= { tlpAtsAlarms 16 }

tlpAtsAlarmCurrentBelowThreshold1 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 1 or l1-l2 is below load limits."
    ::= { tlpAtsAlarmCurrentBelowThreshold 1 }

tlpAtsAlarmCurrentBelowThreshold2 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 2 or l2-l3 is below load limits."
    ::= { tlpAtsAlarmCurrentBelowThreshold 2 }

tlpAtsAlarmCurrentBelowThreshold3 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on phase 3 or l3-l1 is below load limits."
    ::= { tlpAtsAlarmCurrentBelowThreshold 3 }

tlpAtsAlarmCurrentBelowThreshold4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l1-n is below load limits."
    ::= { tlpAtsAlarmCurrentBelowThreshold 4 }

tlpAtsAlarmCurrentBelowThreshold5 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l2-n is below load limits."
    ::= { tlpAtsAlarmCurrentBelowThreshold 5 }

tlpAtsAlarmCurrentBelowThreshold6 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The output current on l3-n is below load limits."
    ::= { tlpAtsAlarmCurrentBelowThreshold 6 }

tlpAtsAlarmThdOutOfRange OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The thd value is out of range."
    ::= { tlpAtsAlarms 17 }

tlpAtsAlarmOutletOverCurrent OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "One or more outlets is above load limits."
    ::= { tlpAtsAlarms 18 }

tlpCoolingAlarmSupplyAirSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The supply air sensor is in fault."
    ::= { tlpCoolingAlarms 1 }

tlpCoolingAlarmReturnAirSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The return air sensor is in fault."
    ::= { tlpCoolingAlarms 2 }

tlpCoolingAlarmCondenserInletAirSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The condenser inlet air sensor is in fault."
    ::= { tlpCoolingAlarms 3 }

tlpCoolingAlarmCondenserOutletAirSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The condenser outlet air sensor is in fault."
    ::= { tlpCoolingAlarms 4 }

tlpCoolingAlarmSuctionTemperatureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The suction temperature sensor is in fault."
    ::= { tlpCoolingAlarms 5 }

tlpCoolingAlarmEvaporatorTemperatureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The evaporator temperature sensor is in fault."
    ::= { tlpCoolingAlarms 6 }

tlpCoolingAlarmAirFilterClogged OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The air filter is clogged."
    ::= { tlpCoolingAlarms 7 }

tlpCoolingAlarmAirFilterRunHoursViolation OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The air filter run hours was violated."
    ::= { tlpCoolingAlarms 8 }

tlpCoolingAlarmSuctionPressureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The suction pressure sensor is in fault."
    ::= { tlpCoolingAlarms 9 }

tlpCoolingAlarmInverterCommunicationsFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The inverter communications is in fault."
    ::= { tlpCoolingAlarms 10 }

tlpCoolingAlarmRemoteShutdownViaInputContact OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "A remote shutdown was triggered by an input contact."
    ::= { tlpCoolingAlarms 11 }

tlpCoolingAlarmCondensatePumpFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The condensate pump is in fault."
    ::= { tlpCoolingAlarms 12 }

tlpCoolingAlarmLowRefrigerantStartupFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The low refrigerant startup is in fault."
    ::= { tlpCoolingAlarms 13 }

tlpCoolingAlarmCondenserFanFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The condenser fan is in fault."
    ::= { tlpCoolingAlarms 14 }

tlpCoolingAlarmCondenserFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The condenser has failed."
    ::= { tlpCoolingAlarms 15 }

tlpCoolingAlarmEvaporatorCoolingFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The evaporator cooling is in fault."
    ::= { tlpCoolingAlarms 16 }

tlpCoolingAlarmReturnAirTempHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The return air temperature is high."
    ::= { tlpCoolingAlarms 17 }

tlpCoolingAlarmSupplyAirTempHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The supply air temperature is high."
    ::= { tlpCoolingAlarms 18 }

tlpCoolingAlarmEvaporatorFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The evaporator has failed."
    ::= { tlpCoolingAlarms 19 }

tlpCoolingAlarmEvaporatorFreezeUp OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The evaporator is frozen."
    ::= { tlpCoolingAlarms 20 }

tlpCoolingAlarmDischargePressureHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The discharge pressure is high."
    ::= { tlpCoolingAlarms 21 }

tlpCoolingAlarmPressureGaugeFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The pressure gauge has failed."
    ::= { tlpCoolingAlarms 22 }

tlpCoolingAlarmDischargePressurePersistentHigh OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The discharge pressure is persistently high."
    ::= { tlpCoolingAlarms 23 }

tlpCoolingAlarmSuctionPressureLowStartFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Cannot start due to low suction pressure."
    ::= { tlpCoolingAlarms 24 }

tlpCoolingAlarmSuctionPressureLow OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The suction pressure is low."
    ::= { tlpCoolingAlarms 25 }

tlpCoolingAlarmSuctionPressurePersistentLow OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The suction pressure is persistently low."
    ::= { tlpCoolingAlarms 26 }

tlpCoolingAlarmStartupLinePressureImbalance OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The startup line pressure is in imbalance."
    ::= { tlpCoolingAlarms 27 }

tlpCoolingAlarmCompressorFailure OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The compressor has failed."
    ::= { tlpCoolingAlarms 28 }

tlpCoolingAlarmCurrentLimit OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The current is out of range."
    ::= { tlpCoolingAlarms 29 }

tlpCoolingAlarmWaterLeak OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Water is leaking."
    ::= { tlpCoolingAlarms 30 }

tlpCoolingAlarmFanUnderCurrent OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The fan is under current."
    ::= { tlpCoolingAlarms 31 }

tlpCoolingAlarmFanOverCurrent OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The fan is over current."
    ::= { tlpCoolingAlarms 32 }

tlpCoolingAlarmDischargePressureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The discharge pressure sensor is in fault."
    ::= { tlpCoolingAlarms 33 }

tlpCoolingAlarmWaterFull OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Water is Full."
    ::= { tlpCoolingAlarms 34 }

tlpCoolingAlarmAutoCoolingOn OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Automatic cooling was activated to lower the temperature below the
        remote set point."
    ::= { tlpCoolingAlarms 35 }

tlpCoolingAlarmPowerButtonPressed OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Power button was pressed on the front panel."
    ::= { tlpCoolingAlarms 36 }

tlpCoolingAlarmDisconnectedFromDevice OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "The device communications is disconnected."
    ::= { tlpCoolingAlarms 37 }

tlpCoolingAlarmReturnAirTemperatureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Ambient (return air) temperature sensor is in fault."
    ::= { tlpCoolingAlarms 38 }

tlpCoolingAlarmRemoteTemperatureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Remote temperature sensor is in fault."
    ::= { tlpCoolingAlarms 39 }

tlpCoolingAlarmLowPressureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Low pressure sensor is in fault."
    ::= { tlpCoolingAlarms 40 }

tlpCoolingAlarmHighPressureSensorFault OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "High pressure sensor is in fault."
    ::= { tlpCoolingAlarms 41 }

tlpCoolingAlarmSentrytimerTimeout OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Sentry timer time out."
    ::= { tlpCoolingAlarms 42 }

tlpAlarmControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TlpAlarmControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of alarm conditions supported for each device managed by this
        agent. This table contains zero, one, or many rows depending upon the
        number of available alarms managed by each device."
    ::= { tlpAlarmControl 1 }

tlpAlarmControlEntry OBJECT-TYPE
    SYNTAX TlpAlarmControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing details for a particular alarm condition."
    INDEX { tlpDeviceIndex, tlpAlarmControlIndex }
    ::= { tlpAlarmControlTable 1 }

TlpAlarmControlEntry ::= SEQUENCE {
    tlpAlarmControlIndex                Unsigned32,
    tlpAlarmControlDescr                OBJECT IDENTIFIER,
    tlpAlarmControlDetail               DisplayString,
    tlpAlarmControlSeverity             INTEGER }

tlpAlarmControlIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The table row index for this alarm control entry for this device. The
        index of any one row represents the index of the alarm entry within the
        agent system. As such, the index values for any one device is not
        guaranteed to start with 1 or be numerically sequential."
    ::= { tlpAlarmControlEntry 1 }

tlpAlarmControlDescr OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A reference of the alarm description object. The object referenced
        should not be accessible, but rather be used to provide a unique
        description for the alarm condition. The object referenced will be a
        well known alarm object associated with the device on which the alarm
        condition is active. This will be the same object description of an
        alarm when in alarm as referenced by tlpAlarmDescr."
    ::= { tlpAlarmControlEntry 2 }

tlpAlarmControlDetail OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A textual description of the alarm condition. This will be the same
        textual description of an alarm when in alarm as referenced by
        tlpAlarmDetail."
    ::= { tlpAlarmControlEntry 3 }

tlpAlarmControlSeverity OBJECT-TYPE
    SYNTAX INTEGER {
        critical(1),
        warning(2),
        info(3) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The severity of this alarm, which can be configured as desired for
        each alarm condition. This will be the same severity used when in alarm
        as referenced by tlpAlarmType."
    ::= { tlpAlarmControlEntry 4 }

-- notifications

tlpNotificationsAlarmEntryAdded NOTIFICATION-TYPE
    OBJECTS { tlpAlarmId, tlpAlarmDescr, tlpAlarmTime,
              tlpAlarmTableRef, tlpAlarmTableRowRef, tlpAlarmDetail,
              tlpAlarmType }
    STATUS current
    DESCRIPTION
        "This notification is sent each time an alarm condition is inserted into
        the device alarm table, tlpAlarmTable."
    ::= { tlpNotifications 1 }

tlpNotificationsAlarmEntryRemoved NOTIFICATION-TYPE
    OBJECTS { tlpAlarmId, tlpAlarmDescr, tlpAlarmTime,
              tlpAlarmTableRef, tlpAlarmTableRowRef, tlpAlarmDetail,
              tlpAlarmType }
    STATUS current
    DESCRIPTION
        "This notification is sent each time an alarm condition is removed from
        the device alarm table, tlpAlarmTable."
    ::= { tlpNotifications 2 }

tlpNotifySystemStartup NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Used to inform another entity of an agent's startup. The varbinds that follow are:

        OBJ1      = tlpAgentType
        Obj1Value = The type of engine providing this data
        OBJ2      = tlpAgentVersion
        Obj2Value = The current version of the engine
        OBJ3      = tlpAgentMAC
        Obj3Value = The MAC address of the engine
        OBJ4      = tlpAgentSerialNum
        Obj4Value = The serial number of the web card [should be 0 on PC]

        --- if this trap is extended, place all static OIDs above this mark. all objects below
        --- the number of devices (tlpDeviceNumDevices) is explicit as per device for enumeration by
        --- the target receiver

        OBJ5      = tlpDeviceNumDevices
        Obj5Value = The number of devices attached

        --- The following objects will be replicated per each device:

        OBJ6      = The OID for an entry of tlpDeviceManufacturer, indexed by device
        Obj6Value = The device's manufacturer
        OBJ7      = The OID for an entry of tlpDeviceModel, indexed by device
        Obj7Value = The device's model name
        OBJ8      = The OID for an entry of tlpDeviceName, indexed by device
        Obj8Value = The device's display name
        OBJ9      = The OID for an entry of tlpDeviceLocation, indexed by device
        Obj9Value = The device's location
        OBJ10     = The OID for an entry of tlpDeviceRegion, indexed by device
        Obj10Value= The device's region
        OBJ11     = The OID for an entry of tlpDeviceIdentProtocol, indexed by device
        Obj11Value= The device's protocol (display string format)
        "
    ::= { tlpNotifications 3 }

tlpNotifySystemShutdown NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Used to inform another entity of an agent's shutdown. The varbinds that follow are:

        OBJ1      = tlpAgentType
        Obj1Value = The type of engine providing this data
        OBJ2      = tlpAgentVersion
        Obj2Value = The current version of the engine
        OBJ3      = tlpAgentMAC
        Obj3Value = The MAC address of the engine
        OBJ4      = tlpAgentSerialNum
        Obj4Value = The serial number of the web card [should be 0 on PC]

        --- if this trap is extended, place all static OIDs above this mark. all objects below
        --- the number of devices (tlpDeviceNumDevices) is explicit as per device for enumeration by
        --- the target receiver

        OBJ5      = tlpDeviceNumDevices
        Obj5Value = The number of devices attached

        --- The following objects will be replicated per each device:

        OBJ6      = The OID for an entry of tlpDeviceManufacturer, indexed by device
        Obj6Value = The device's manufacturer
        OBJ7      = The OID for an entry of tlpDeviceModel, indexed by device
        Obj7Value = The device's model name
        OBJ8      = The OID for an entry of tlpDeviceName, indexed by device
        Obj8Value = The device's display name
        OBJ9      = The OID for an entry of tlpDeviceLocation, indexed by device
        Obj9Value = The device's location
        OBJ10     = The OID for an entry of tlpDeviceRegion, indexed by device
        Obj10Value= The device's region
        OBJ11     = The OID for an entry of tlpDeviceIdentProtocol, indexed by device
        Obj11Value= The device's protocol (display string format)
        "
    ::= { tlpNotifications 4 }

tlpNotifySystemUpdate NOTIFICATION-TYPE
  STATUS current
  DESCRIPTION
    "Used to inform another entity of an engine's startup. The varbinds that follow are:

    OBJ1      = tlpAgentType
    Obj1Value = The type of engine providing this data
    OBJ2      = tlpAgentVersion
    Obj2Value = The current version of the engine
    OBJ3      = tlpAgentMAC
    Obj3Value = The MAC address of the engine
    OBJ4      = tlpAgentSerialNum
    Obj4Value = The serial number of the web card [should be 0 on PC]

    --- if this trap is extended, place all static OIDs above this mark. all objects below
    --- the number of devices (tlpDeviceNumDevices) is explicit as per device for enumeration by
    --- the target receiver

    OBJ5      = tlpDeviceNumDevices
    Obj5Value = The number of devices attached

    --- The following objects will be replicated per each device:

    OBJ6      = The OID for an entry of tlpDeviceManufacturer, indexed by device
    Obj6Value = The device's manufacturer
    OBJ7      = The OID for an entry of tlpDeviceModel, indexed by device
    Obj7Value = The device's model name
    OBJ8      = The OID for an entry of tlpDeviceName, indexed by device
    Obj8Value = The device's display name
    OBJ9      = The OID for an entry of tlpDeviceLocation, indexed by device
    Obj9Value = The device's location
    OBJ10     = The OID for an entry of tlpDeviceRegion, indexed by device
    Obj10Value= The device's region
    OBJ11     = The OID for an entry of tlpDeviceIdentProtocol, indexed by device
    Obj11Value= The device's protocol (display string format)
    "
  ::= { tlpNotifications 5 }

tlpNotifyTest NOTIFICATION-TYPE
  STATUS current
  DESCRIPTION
    "Used when performing a test of the system or an alert notification contact. The varbinds
    that follow are:

    OBJ1      = tlpAgentType
    Obj1Value = The type of engine providing this data
    OBJ2      = tlpAgentVersion
    Obj2Value = The current version of the engine
    OBJ3      = tlpAgentMAC
    Obj3Value = The MAC address of the engine
    OBJ4      = tlpAgentSerialNum
    Obj4Value = The serial number of the web card [should be 0 on PC]
    "
  ::= { tlpNotifications 6 }

tlpNotificationsAgent OBJECT IDENTIFIER ::= { tlpNotificationsEvent 1 }

tlpNotificationsDevice OBJECT IDENTIFIER ::= { tlpNotificationsEvent 2 }

tlpNotificationsDeviceInternalFirmwareFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device experiences an internal
        firmware failure."
    ::= { tlpNotificationsDevice 1 }

tlpNotificationsDeviceInternalHardwareFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device experiences an internal
        hardware failure."
    ::= { tlpNotificationsDevice 2 }

tlpNotificationsDeviceConfigurationChange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device configuration changes."
    ::= { tlpNotificationsDevice 3 }

tlpNotificationsDeviceFirmwareUpdate NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device firmware is updated."
    ::= { tlpNotificationsDevice 4 }

tlpNotificationsDeviceMicrocontrollerReset NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device microcontroller resets."
    ::= { tlpNotificationsDevice 5 }

tlpNotificationsDeviceSystemInformation NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device system information changes."
    ::= { tlpNotificationsDevice 6 }

tlpNotificationsDeviceNvrChecksumMismatch NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the NVR is corrupted."
    ::= { tlpNotificationsDevice 7 }

tlpNotificationsDeviceUsbCommunicationsEstablished NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device USB communications is
        established."
    ::= { tlpNotificationsDevice 8 }

tlpNotificationsDeviceUsbCommunicationsLost NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device USB communications is lost."
    ::= { tlpNotificationsDevice 9 }

tlpNotificationsDevicePowerSupplyShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to a power supply fault."
    ::= { tlpNotificationsDevice 10 }

tlpNotificationsDeviceOverLoadShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to an over load fault."
    ::= { tlpNotificationsDevice 11 }

tlpNotificationsDeviceCurrentLimitShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to a current limit fault."
    ::= { tlpNotificationsDevice 12 }

tlpNotificationsDeviceOverTemperatureShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to an over temperature fault."
    ::= { tlpNotificationsDevice 13 }

tlpNotificationsDeviceModeTransitionTimeout NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device timed out transitioning to
        a mode."
    ::= { tlpNotificationsDevice 14 }

tlpNotificationsDeviceFailedModeTransitionToIdle NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device failed a transition to idle
        mode."
    ::= { tlpNotificationsDevice 15 }

tlpNotificationsDeviceInternalCommunicationsLost NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device lost internal communications."
    ::= { tlpNotificationsDevice 16 }

tlpNotificationsDeviceAcknowledgeFaults NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when device faults are acknowledged."
    ::= { tlpNotificationsDevice 17 }

tlpNotificationsDeviceTransferToRestart NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a device restart occurred."
    ::= { tlpNotificationsDevice 18 }

tlpNotificationsDeviceTransferToWatchdogRestart NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a device restart occurred due to a
        watchdog fault."
    ::= { tlpNotificationsDevice 19 }

tlpNotificationsDeviceTransferToLatchedIdle NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to latched idle
        mode."
    ::= { tlpNotificationsDevice 20 }

tlpNotificationsDeviceTransferToLatchedStandby NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to latched
        standby mode."
    ::= {tlpNotificationsDevice 21 }

tlpNotificationsDeviceTransferToLatchedLine NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to latched
        line mode."
    ::= { tlpNotificationsDevice 22 }

tlpNotificationsDeviceFailSafeClockMonitorEngaged NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the fail safe clock monitor is engaged."
    ::= { tlpNotificationsDevice 23 }

tlpNotificationsDeviceTransferToIdle NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to idle mode."
    ::= { tlpNotificationsDevice 24 }

tlpNotificationsDeviceVoutUnderVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to an under voltage fault."
    ::= {  tlpNotificationsDevice 25 }

tlpNotificationsDeviceVoutOverVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to an over voltage fault."
    ::= { tlpNotificationsDevice 26 }

tlpNotificationsDeviceRtosFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when an RTOS fault occurs."
    ::= { tlpNotificationsDevice 27 }

tlpNotificationsDeviceCriticalNvrValuesBlank NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a blank critical
        nvr value."
    ::= { tlpNotificationsDevice 28 }

tlpNotificationsDeviceOutputOff NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device output is off."
    ::= { tlpNotificationsDevice 29 }

tlpNotificationsDeviceStartup NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device starts powering up."
    ::= { tlpNotificationsDevice 30 }

tlpNotificationsDeviceEpo NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when an emergency power off occurs on the
        device."
    ::= { tlpNotificationsDevice 31 }

tlpNotificationsDeviceFirmwareMismatch NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a firmware mismatch."
    ::= { tlpNotificationsDevice 32 }

tlpNotificationsDeviceOverloadRelease NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when an overload condition is released."
    ::= { tlpNotificationsDevice 33 }

tlpNotificationsDeviceTransferToLine NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to line mode."
    ::= { tlpNotificationsDevice 34 }

tlpNotificationsDeviceAcFailure NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when power to the device failed."
    ::= { tlpNotificationsDevice 35 }

tlpNotificationsDeviceSiteWiringFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the utility input wiring is faulty."
    ::= { tlpNotificationsDevice 36 }

tlpNotificationsDeviceEmergencyShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports an emergency
        shutdown."
    ::= { tlpNotificationsDevice 37 }

tlpNotificationsDeviceCircuitBreakerOpen NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a circuit breaker is open."
    ::= { tlpNotificationsDevice 38 }

tlpNotificationsDeviceSupplyMonitorInterrupt NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a supply monitor interrupt fault is
        reported."
    ::= { tlpNotificationsDevice 39 }

tlpNotificationsDeviceSystemTickTimeout NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a system tick timeout occurs."
    ::= { tlpNotificationsDevice 40 }

tlpNotificationsDeviceRelayInUnexpectedState NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a relay is in an unexpected state."
    ::= { tlpNotificationsDevice 41 }

tlpNotificationsDeviceEepromQueueOverflow NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when an EEPROM queue overflow fault occurs."
    ::= { tlpNotificationsDevice 42 }

tlpNotificationsDeviceEepromWriteFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when an EEPROM write fault occurs."
    ::= { tlpNotificationsDevice 43 }

tlpNotificationsDeviceEepromOperationTimeout NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when an EEPROM operation timeout occurs."
    ::= { tlpNotificationsDevice 44 }

tlpNotificationsDeviceI2cWriteDelayed NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a delay occurred writing to the I2C."
    ::= { tlpNotificationsDevice 45 }

tlpNotificationsDeviceRampShedNvrWriteFailed NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when ramp/shed nvr write failed."
    ::= { tlpNotificationsDevice 46 }

tlpNotificationsDeviceFactoryRestoreFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a fault occurred during a factory restore."
    ::= { tlpNotificationsDevice 47 }

tlpNotificationsDeviceRelaySetTimeOutOfRange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a relay set time is out of range."
    ::= { tlpNotificationsDevice 48 }

tlpNotificationsDeviceRelayResetTimeOutOfRange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a relay reset time is out of range."
    ::= { tlpNotificationsDevice 49 }

tlpNotificationsUps OBJECT IDENTIFIER ::= { tlpNotificationsEvent 3 }

tlpNotificationsUpsBatteryLowVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to a low battery voltage fault."
    ::= { tlpNotificationsUps 1 }

tlpNotificationsUpsBatteryLowPercentageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to a low battery percentage fault."
    ::= { tlpNotificationsUps 2 }

tlpNotificationsUpsBatteryOverVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to a battery over voltage fault."
    ::= { tlpNotificationsUps 3 }

tlpNotificationsUpsBatteryOverCurrentShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to a battery over current fault."
    ::= { tlpNotificationsUps 4 }

tlpNotificationsUpsBatteryUnknownTypeShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to an unknown battery type fault."
    ::= { tlpNotificationsUps 5 }

tlpNotificationsUpsBatteryConfigurationMismatch NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups battery configuration is
        mismatched."
    ::= { tlpNotificationsUps 6 }

tlpNotificationsUpsBatteryUnderVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to a battery under voltage fault."
    ::= { tlpNotificationsUps 7 }

tlpNotificationsUpsSlaBatteryOverTemperatureShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the ups reports a shutdown occurred
        due to an SLA battery over temperature fault."
    ::= { tlpNotificationsUps 8 }

tlpNotificationsUpsBatteryInstallation NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a battery installation occurs."
    ::= { tlpNotificationsUps 9 }

tlpNotificationsUpsChargerBulkToAcceptance NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when ups battery charging."
    ::= { tlpNotificationsUps 10 }

tlpNotificationsUpsChargerAcceptanceToFloat NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when ups battery fully charged."
    ::= { tlpNotificationsUps 11 }

tlpNotificationsUpsChargerFloatToBulk NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when ups battery not fully charged."
    ::= { tlpNotificationsUps 12 }

tlpNotificationsUpsTransferToSelftest NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a self test is initiated."
    ::= { tlpNotificationsUps 13 }

tlpNotificationsUpsTransferToEconomy NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to economy mode."
    ::= { tlpNotificationsUps 14 }

tlpNotificationsUpsLineConnectRelayFaultShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to line connect relay fault."
    ::= { tlpNotificationsUps 15 }

tlpNotificationsUpsTransferToFaultBypass NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to fault bypass
        mode."
    ::= { tlpNotificationsUps 16 }

tlpNotificationsUpsBypassPowerDistributionModuleDisconnected NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when bypass power distribution module is
        disconnected."
    ::= { tlpNotificationsUps 17 }

tlpNotificationsUpsManualBypassActivatedFromUnsupportedMode NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when manual bypass activated from an
        unsupported ups mode."
    ::= { tlpNotificationsUps 18 }

tlpNotificationsUpsOnBatteryTimeoutShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to on battery timeout."
    ::= { tlpNotificationsUps 19 }

tlpNotificationsUpsLowBatteryPercentageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to low battery percentage."
    ::= { tlpNotificationsUps 20 }

tlpNotificationsUpsBatteryCommunicationsLost NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when communications with the battery pack
        is lost."
    ::= { tlpNotificationsUps 21 }

tlpNotificationsUpsBatteryCommunicationsEstablished NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when communications with the battery pack
        is established."
    ::= { tlpNotificationsUps 22 }

tlpNotificationsUpsBatteryOtaShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the battery ota flag."
    ::= { tlpNotificationsUps 23 }

tlpNotificationsUpsCartInstallation NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports the occurrence of
        a cart installation."
    ::= { tlpNotificationsUps 24 }

tlpNotificationsUpsDeadBatteryRecoveryShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to a dead battery."
    ::= { tlpNotificationsUps 25 }

tlpNotificationsUpsFullBridgeNotSteadyShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the full bridge not steady."
    ::= { tlpNotificationsUps 26 }

tlpNotificationsUpsFullBridgeCurrentLimitShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to a current limit on the full bridge."
    ::= { tlpNotificationsUps 27 }

tlpNotificationsUpsTransitionFailed NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a failure to
        transition."
    ::= { tlpNotificationsUps 28 }

tlpNotificationsUpsInverterOcp NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports an inverter ocp
        fault."
    ::= { tlpNotificationsUps 29 }

tlpNotificationsUpsInverterVbusShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the inverter vbus."
    ::= { tlpNotificationsUps 30}

tlpNotificationsUpsTransferToFaultStandby NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to a fault
        standby mode."
    ::= { tlpNotificationsUps 31 }

tlpNotificationsUpsModbusBatteryStatusShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the modbus battery status."
    ::= { tlpNotificationsUps 32}

tlpNotificationsUpsBatteryPackCountChange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the number of battery packs changed."
    ::= { tlpNotificationsUps 33}

tlpNotificationsUpsTransferToBattery NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to battery mode."
    ::= { tlpNotificationsUps 34 }

tlpNotificationsUpsTransferToBypass NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to bypass mode."
    ::= { tlpNotificationsUps 35 }

tlpNotificationsUpsTransferToDbrLine NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to dbr line mode."
    ::= { tlpNotificationsUps 36 }

tlpNotificationsUpsTransferToDbrStandby NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to dbr standby
        mode."
    ::= { tlpNotificationsUps 37 }

tlpNotificationsUpsTransferToStandby NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to standby mode."
    ::= { tlpNotificationsUps 38 }

tlpNotificationsUpsTransferToOnline NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device transferred to online mode."
    ::= { tlpNotificationsUps 39 }

tlpNotificationsUpsV20BusNotSteadyShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the v20 bus not steady."
    ::= { tlpNotificationsUps 40 }

tlpNotificationsUpsV20BusOverVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the v20 bus over voltage."
    ::= { tlpNotificationsUps 41 }

tlpNotificationsUpsV20BusUnderVoltageShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to the v20 bus under voltage."
    ::= { tlpNotificationsUps 42 }

tlpNotificationsUpsBypassOutOfRange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the bypass voltage is out of tolerance."
    ::= { tlpNotificationsUps 43 }

tlpNotificationsUpsEnergySavingShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to energy saving."
    ::= { tlpNotificationsUps 44 }

tlpNotificationsUpsDryContactShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to a dry contact."
    ::= { tlpNotificationsUps 45 }

tlpNotificationsUpsInverterOverCurrentShutdown NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a shutdown occurred
        due to an inverter over current fault."
    ::= { tlpNotificationsUps 46 }

tlpNotificationsUpsPfcPrechargeFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a PFC precharge
        fault."
    ::= { tlpNotificationsUps 47 }

tlpNotificationsUpsPfcOverVoltageFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a PFC over voltage
        fault."
    ::= { tlpNotificationsUps 48 }

tlpNotificationsUpsPfcUnderVoltageFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a PFC under voltage
        fault."
    ::= { tlpNotificationsUps 49 }

tlpNotificationsUpsPfcOverCurrentFault NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a PFC over current
        fault."
    ::= { tlpNotificationsUps 50 }

tlpNotificationsPdu OBJECT IDENTIFIER ::= { tlpNotificationsEvent 4 }

tlpNotificationsPduCrestFactorOutOfRange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the crest factor is beyond normal
        operating limits."
    ::= { tlpNotificationsPdu 1 }

tlpNotificationsPduTransferToForceLineMode NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device is forced into line mode."
    ::= { tlpNotificationsPdu 2 }

tlpNotificationsPduLineInRange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the line enters into normal operating
        range."
    ::= { tlpNotificationsPdu 3 }

tlpNotificationsPduLineOutOfRange NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the line falls outside its normal
        operating range."
    ::= { tlpNotificationsPdu 4 }

tlpNotificationsPduNotableRelayResponseTimes NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a notable relay
        response time."
    ::= { tlpNotificationsPdu 5 }

tlpNotificationsPduOutletNearMaxRating NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports an outlet is near
        its maximum rating."
    ::= { tlpNotificationsPdu 6 }

tlpNotificationsPduLineModeTransferToLinePartialPowerup NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports a partial powerup in
        line mode."
    ::= { tlpNotificationsPdu 7 }

tlpNotificationsPduSinglePhasing NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the device reports it is operating with
        only a single phase."
    ::= { tlpNotificationsPdu 8 }

tlpNotificationsEnvirosense OBJECT IDENTIFIER ::= { tlpNotificationsEvent 5 }

tlpNotificationsAts OBJECT IDENTIFIER ::= { tlpNotificationsEvent 6 }

tlpNotificationsAtsSource1NotAvailable NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when input on source one is not available.
        For atss with the designation of primary and secondary, this
        notification denotes input on the primary source is not available."
    ::= { tlpNotificationsAts 1 }

tlpNotificationsAtsSource2NotAvailable NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when input on source two is not available.
        For atss with the designation of primary and secondary, this
        notification denotes input on the secondary source is not available."
    ::= { tlpNotificationsAts 2 }

tlpNotificationsAtsLockdownToSource1 NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent upon a transfer circuit fault causing the
        device to be locked on source 1."
    ::= { tlpNotificationsAts 3 }

tlpNotificationsAtsLockdownToSource2 NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent upon a transfer circuit fault causing the
        device to be locked on source 2."
    ::= { tlpNotificationsAts 4 }

tlpNotificationsAtsSource1Available NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when source 1 is available and ready for
        use."
    ::= { tlpNotificationsAts 5 }

tlpNotificationsAtsSource2Available NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when source 2 is available and ready for
        use."
    ::= { tlpNotificationsAts 6 }

tlpNotificationsAtsSource1Brownout NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a brownout condition occurred on
        source 1."
    ::= { tlpNotificationsAts 7 }

tlpNotificationsAtsSource2Brownout NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when a brownout condition occurred on
        source 2."
    ::= { tlpNotificationsAts 8 }

tlpNotificationsAtsSource1VoltageDrop NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the voltage on source 1 drops below a
        usable state."
    ::= { tlpNotificationsAts 9 }

tlpNotificationsAtsSource2VoltageDrop NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the voltage on source 2 drops below a
        usable state."
    ::= { tlpNotificationsAts 10 }

tlpNotificationsAtsTimedReturnToSource1 NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the active input source returns to
        source 1 from source 2 after a delay time expires."
    ::= { tlpNotificationsAts 11 }

tlpNotificationsAtsTimedReturnToSource2 NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the active input source returns to
        source 2 from source 1 after a delay time expires."
    ::= { tlpNotificationsAts 12 }

tlpNotificationsAtsTransferToSource1 NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the active input source transfers
        from source 2 to source 1."
    ::= { tlpNotificationsAts 13 }

tlpNotificationsAtsTransferToSource2 NOTIFICATION-TYPE
    OBJECTS { sysUpTime, tlpNotifyEventTableRef, tlpNotifyEventTableRowRef }
    STATUS current
    DESCRIPTION
        "This notification is sent when the active input source transfers
        from source 1 to source 2."
    ::= { tlpNotificationsAts 14 }

tlpNotificationsCooling OBJECT IDENTIFIER ::= { tlpNotificationsEvent 7 }

tlpNotificationsKvm OBJECT IDENTIFIER ::= { tlpNotificationsEvent 8 }

tlpNotificationsRackTrack OBJECT IDENTIFIER ::= { tlpNotificationsEvent 9 }

tlpNotificationsSwitch OBJECT IDENTIFIER ::= { tlpNotificationsEvent 10 }

tlpNotifyEventTableRef OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This value references the OID of a table object applicable to the event
        condition. This, in conjunction with the table row as defined by
        tlpAlarmTableRowRef, specifies the object/row within this table to which
        the event condition applies. Refer to tlpAlarmTableRef for more information."
    ::= { tlpNotificationsEventParameters 1 }

tlpNotifyEventTableRowRef OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This value is used in conjunction with tlpNotifyEventTableRef to define the
        object associated with this event condition. See the description of
        tlpNotifyEventTableRef for more information."
    ::= { tlpNotificationsEventParameters 2 }

END
