EATON-PXG-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Gauge32, Integer32 FROM SNMPv2-SMI TimeStamp FROM SNMPv2-TC entPhysicalName FROM ENTITY-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF powerChain FROM EATON-OIDS; pxgMIB MODULE-IDENTITY LAST-UPDATED "200801300000Z" ORGANIZATION "Eaton Corporation" CONTACT-INFO "Eaton Power Quality Technical Support (PQTS) group www.eaton.com/powerxpert Technical Resource Center phone numbers United States: 1.800.843.9433 or 919.870.3028 Canada: 1.800.461.9166 ext. 260 All other countries: Call your local service representative." DESCRIPTION "The MIB module for objects and notifications supported by Eaton's Toolkit-enabled Power Xpert Gateways. Copyright (C) Eaton Corporation (2006-2007)." REVISION "200801300000Z" DESCRIPTION "Added powerChainAlarmUpdated and notes." REVISION "200707050000Z" DESCRIPTION "Used accessible-for-notify where appropriate for trap-only vars." REVISION "200704100000Z" DESCRIPTION "Renamed from TOOLKIT-MIB to better EATON-PXG-MIB. Added powerChainAlarmClosed trap and closed alarmLevel." REVISION "200701030000Z" DESCRIPTION "Added activeAlarmsTable and corresponding Notifications." REVISION "200610130000Z" DESCRIPTION "Initial Version of pxgMIB. Provides Notifications and supporting objects." ::= { powerChain 1 } -- ::= { enterprises 534 8 1 } -- pxgMib { iso org(3) dod(6) internet(1) private(4) -- enterprises(1) eaton(534) powerChain(8) (1) } pxgMIBObjects OBJECT IDENTIFIER ::= { pxgMIB 1 } -- MIB contains these groups eventInfo OBJECT IDENTIFIER ::= { pxgMIBObjects 1 } alarms OBJECT IDENTIFIER ::= { pxgMIBObjects 2 } -- -- eventInfo group -- -- The objects defined in the eventInfo group are all inaccessible -- (to external MIB browsers). They are used exclusively as OBJECTS -- in pxgNotifications; the transient nature of this data -- is the reason it is kept inaccessible except to internal processes. eventID OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A unique identifier for the event." ::= { eventInfo 1 } eventSequenceIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A unique identifier for a sequence of events using the same EventId." ::= { eventInfo 2 } eventDescription OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A human-readable text description of the Event or Alarm." ::= { eventInfo 3 } eventValue OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A human-readable text representation of the source and value of the node that caused the Event or Alarm. This text should be of the form 'SourcePath = Value' where SourcePath is the address of the node within the BACnetWS+ node tree, as accessed with web service calls." ::= { eventInfo 4 } -- -- alarms group -- -- This group contains the table of active alarms and a count of -- alarms currently active. The vars are similar to the eventInfo group -- but these vars are visible to MIB browsers. numAlarmsPresent OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The present number of active alarm conditions." ::= { alarms 1 } activeAlarmsTable OBJECT-TYPE SYNTAX SEQUENCE OF ActiveAlarmsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of alarm table entries. The table contains zero, one, or many rows at any moment, depending upon the number of alarm conditions in effect. The table is initially empty at agent startup. The agent creates a row in the table each time an alarm condition is detected and deletes that row when that alarm is no longer active. The numbering of the table entries, using alarmID, is sparse. The number of rows in the table at any given time is reflected by the value of numAlarmsPresent." ::= { alarms 2 } activeAlarmsEntry OBJECT-TYPE SYNTAX ActiveAlarmsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing information applicable to a particular alarm." INDEX { alarmID } ::= { activeAlarmsTable 1 } ActiveAlarmsEntry ::= SEQUENCE { alarmID Integer32, alarmSequenceIndex Integer32, alarmDescription SnmpAdminString, alarmValue SnmpAdminString, alarmLevel INTEGER, alarmTime TimeStamp } alarmID OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A unique identifier for the alarm. This var is not-accessible when browsing the table." ::= { activeAlarmsEntry 1 } alarmSequenceIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique identifier for a sequence of alarms using the same alarmID." ::= { activeAlarmsEntry 2 } alarmDescription OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A human-readable text description of the Event or Alarm." ::= { activeAlarmsEntry 3 } alarmValue OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A human-readable text representation of the source and value of the node that caused the Event or Alarm. This text should be of the form 'SourcePath = Value' where SourcePath is the address of the node within the BACnetWS+ node tree, as accessed with web service calls." ::= { activeAlarmsEntry 4 } alarmLevel OBJECT-TYPE SYNTAX INTEGER { critical (1), cautionary (2), acknowledged (3), active (4), cleared (5), closed (6), unknown (7) } MAX-ACCESS read-only STATUS current DESCRIPTION "Enumerated value that tells the present level (status) of an activeAlarmsEntry. critical (1) - The alarm is at a critical level. cautionary (2) - The alarm is at a cautionary level (a less severe level than critical). acknowledged (3) - The user has acknowledged, but not yet closed, the cautionary or critical alarm. active (4) - Not used; would be a status for an event. cleared (5) - A transient internal level, not normally seen. closed (6) - A transient internal level, not normally seen because the activeAlarmsEntry is removed when closed. unknown (7) - Alarm status is not known. Not normally seen." ::= { activeAlarmsEntry 5 } alarmTime 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 alarmTime shall equal 0." ::= { activeAlarmsEntry 6 } -- Notifications pxgNotifications OBJECT IDENTIFIER ::= { pxgMIB 0 } -- These notifications are mapped from the BACnet-WS+ Alarms and -- Events, and are triggered by the publishing of an Alarm or Event -- via the BACnet-WS+ web services. -- This first set provides the same set of (otherwise inaccessible) -- eventXXX OBJECTS with data from one Event Update instance, plus -- entPhysicalName.1: DisplayName given to the root device or server -- (with entPhysicalIndex always = 1) powerChainCriticalAlarmEvent NOTIFICATION-TYPE OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue, entPhysicalName } STATUS current DESCRIPTION "A Critical Alarm has occurred in a Power Chain Device. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 1 } powerChainCautionaryAlarmEvent NOTIFICATION-TYPE OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue, entPhysicalName } STATUS current DESCRIPTION "A Cautionary Alarm has occurred in a Power Chain Device. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 2 } powerChainAlarmEventAcknowledged NOTIFICATION-TYPE OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue, entPhysicalName } STATUS current DESCRIPTION "A user has Acknowledged a Critical or Cautionary Alarm. This does NOT clear or 'close' a latched Alarm. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 3 } powerChainEventCleared NOTIFICATION-TYPE OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue, entPhysicalName } STATUS current DESCRIPTION "The condition that raised the Alarm or Event no longer exists; the three types of Events have different outcomes: 1) A latching Alarm is still considered active and will need to be Closed by a user Close Acknowledgement. 2) A non-latching Alarm is closed and its Alarm sequence completed. 3) An Event is closed and its Event sequence completed. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 4 } powerChainEvent NOTIFICATION-TYPE OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue, entPhysicalName } STATUS current DESCRIPTION "A non-alarming Event has occurred in a Power Chain Device. Event and source information are contained in the OBJECTS." ::= { pxgNotifications 5 } powerChainAlarmEventClosed NOTIFICATION-TYPE OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue, entPhysicalName } STATUS current DESCRIPTION "A user has Closed a Critical or Cautionary Alarm. This Close Acknowledgement has 'closed' a latched Alarm and completed its sequence. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 6 } -- This second set is similar to the first set, but uses the vars -- from the activeAlarmsTable, which are accessible. -- This set does not include a notice for an Event level entry, since -- this would not ever appear in the activeAlarmsTable. -- entPhysicalName.1: DisplayName given to the root device or server -- (with entPhysicalIndex always = 1) -- -- The sequence of notifications for a latching alarm might look like this: -- __Event___ -> __powerChain_Notice__ SeqID alarmLevel -- The alarm occurs -> powerChainCautionaryAlarm 0 cautionary -- Shifts to critical -> powerChainCriticalAlarm 1 critical -- Cause removed -> powerChainAlarmUpdated 2 critical -- Recurs at critical -> powerChainAlarmUpdated 3 critical -- User acknowledges -> powerChainAlarmAcknowledged 4 acknowledged -- Cause removed again -> powerChainAlarmUpdated 5 acknowledged -- User closes -> powerChainAlarmClosed 6 closed -- (Alarm removed) -> powerChainAlarmCleared 6 closed powerChainCriticalAlarm NOTIFICATION-TYPE OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, entPhysicalName } STATUS current DESCRIPTION "A Critical Alarm has occurred in a Power Chain Device. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 7 } powerChainCautionaryAlarm NOTIFICATION-TYPE OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, entPhysicalName } STATUS current DESCRIPTION "A Cautionary Alarm has occurred in a Power Chain Device. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 8 } powerChainAlarmAcknowledged NOTIFICATION-TYPE OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, entPhysicalName } STATUS current DESCRIPTION "A user has Acknowledged a Critical or Cautionary Alarm. This does NOT clear or 'close' a latched Alarm. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 9 } powerChainAlarmCleared NOTIFICATION-TYPE OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, entPhysicalName } STATUS current DESCRIPTION "The condition that raised the Alarm or Event no longer exists; the three types of Events have different outcomes: 1) A latching Alarm is still considered active and will need to be Closed by a user Close Acknowledgement. 2) A non-latching Alarm is closed and its Alarm sequence completed. 3) An Event is closed and its Event sequence completed. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 10 } powerChainAlarmClosed NOTIFICATION-TYPE OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, entPhysicalName } STATUS current DESCRIPTION "A user has Closed a Critical or Cautionary Alarm. This Close Acknowledgement has 'closed' a latched Alarm and completed its sequence. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 11 } powerChainAlarmUpdated NOTIFICATION-TYPE OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, alarmLevel, entPhysicalName } STATUS current DESCRIPTION "An update to the alarm entry at alarmID has occurred; however, the alarmLevel has not changed due to this update. This is normally seen with latching alarms when condition that caused the alarm is removed or recurs before the alarm has been closed. Alarm and source information are contained in the OBJECTS." ::= { pxgNotifications 12 } -- -- Conformance-related definitions -- pxgConformance OBJECT IDENTIFIER ::= { pxgMIB 2 } tkEventGroup OBJECT-GROUP OBJECTS { eventID, eventSequenceIndex, eventDescription, eventValue } STATUS current DESCRIPTION "The eventInfo objects that are only accessible to notifications." ::= { pxgConformance 1 } tkAlarmTableGroup OBJECT-GROUP OBJECTS { alarmID, alarmSequenceIndex, alarmDescription, alarmValue, alarmLevel, alarmTime, numAlarmsPresent } STATUS current DESCRIPTION "The activeAlarms objects that are accessible to MIB browsers and notifications, except that alarmID is only accessible to notifications." ::= { pxgConformance 2 } tkEventNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS { powerChainCriticalAlarmEvent, powerChainCautionaryAlarmEvent, powerChainAlarmEventAcknowledged, powerChainEventCleared, powerChainEvent, powerChainAlarmEventClosed } STATUS current DESCRIPTION "The Alarm and Event notifications which use the eventInfo objects." ::= { pxgConformance 3 } tkAlarmNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS { powerChainCriticalAlarm, powerChainCautionaryAlarm, powerChainAlarmAcknowledged, powerChainAlarmCleared, powerChainAlarmClosed, powerChainAlarmUpdated } STATUS current DESCRIPTION "The Alarm notifications which use the activeAlarmTable objects." ::= { pxgConformance 4 } tkSimpleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for Power Xpert Gateway implementations that do not implement the activeAlarmsTable." MODULE -- this module MANDATORY-GROUPS { tkEventGroup, tkEventNotifyGroup } ::= { pxgConformance 5 } tkAlarmsTableCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for Power Xpert Gateway implementations that do implement the activeAlarmsTable. The eventInfo objects are still used for Event-only notices." MODULE -- this module MANDATORY-GROUPS { tkEventGroup, tkAlarmTableGroup, tkEventNotifyGroup, tkAlarmNotifyGroup } ::= { pxgConformance 6 } END