--
--defines Generator-MIB for Kohler
--Contents:	Global Registration Module
--		Company OIDs - Enterprise 22978 (GridConnect)
--Version:	1.0
--Date:		29 December, 2005
--Developed By: Ed Landell
--              sr. software engineer
--              GridConnect, Inc

--
--Copyright (c) 2006  Kohler Power Systems
--

KohlerGCon-MIB DEFINITIONS ::= BEGIN


IMPORTS
	enterprises
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
	DisplayString
		FROM RFC-1213;


company       OBJECT IDENTIFIER ::= { enterprises 22978 }
products      OBJECT IDENTIFIER ::= { company 1 }
kohlerProd    OBJECT IDENTIFIER ::= { products 3 }
genController OBJECT IDENTIFIER ::= { kohlerProd 1 }

-- Kohler Generator Controller MIB
-- Parameters (Prefix gcon)

gconTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF GConEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION	"Table of generator controller data."
::= { genController 1 }

gconEntry OBJECT-TYPE
	SYNTAX  GConEntry
	ACCESS  not-accessible
	STATUS  optional
	DESCRIPTION	"Generator controller table entries."
	INDEX   { gconAddr }
::= { gconTable 1 }

GConEntry ::=
	SEQUENCE {
		gconType
			INTEGER,
		gconAddr
			INTEGER,
		gconStatus
			INTEGER,
		gconRemoteCmd
			INTEGER
		}


gconType OBJECT-TYPE
	SYNTAX  INTEGER (0..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator controller type."
::= { gconEntry 1 }

gconAddr OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator controller address."
::= { gconEntry 2 }

gconStatus OBJECT-TYPE
	SYNTAX  INTEGER {
				unknown(0),
				good(1),
				error(2)}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator controller comm status."
::= { gconEntry 3 }

gconRemoteCmd OBJECT-TYPE
	SYNTAX  INTEGER { 
				none(0),
				start(1),
				stop(2)}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION	"Generator controller remote start/stop."
::= { gconEntry 4 }

gconAlarmTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF GConAlarmEntry
	ACCESS  not-accessible
	STATUS  mandatory
	DESCRIPTION	"Table of generator controller alarm data."
::= { genController 2 }

gconAlarmEntry OBJECT-TYPE
	SYNTAX  GConAlarmEntry
	ACCESS  not-accessible
	STATUS  optional
	DESCRIPTION	"Generator controller alarm table entries."
	INDEX   { gconAlarmAddr, gconAlarmIdx }
::= { gconAlarmTable 1 }

GConAlarmEntry ::=
	SEQUENCE {
		gconAlarmAddr
			INTEGER,
		gconAlarmIdx
			INTEGER,
		gconAlarmCode
			INTEGER,
		gconAlarmSeverity
			INTEGER,
		gconAlarmDescr
			DisplayString
      }

gconAlarmAddr OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator controller address."
::= { gconAlarmEntry 1 }

gconAlarmIdx OBJECT-TYPE
	SYNTAX  INTEGER (1..16)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator alarm index."
::= { gconAlarmEntry 2 }

gconAlarmCode OBJECT-TYPE
	SYNTAX  INTEGER (0..65535)
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator alarm code."
::= { gconAlarmEntry 3 }

gconAlarmSeverity OBJECT-TYPE
	SYNTAX  INTEGER {
               nfpaShutdown(1),
               nfpaWarning(2),
               nfpaAlarmStatus(3),
               shutdown(4),
               warning(5),
               alarmStatus(6)}
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator controller alarm severity."
::= { gconAlarmEntry 4 }

gconAlarmDescr OBJECT-TYPE
	SYNTAX  DisplayString (SIZE (0..32))
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION	"Generator controller alarm description."
::= { gconAlarmEntry 5 }

END
