SYNOLOGY-UPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    OBJECT-IDENTITY, Counter32, Gauge32, Integer32, mib-2
        FROM SNMPv2-SMI
    DisplayString, TimeStamp, TimeInterval, TestAndIncr,
      AutonomousType, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
	Float 
		FROM NET-SNMP-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
	synology 
		FROM SYNOLOGY-SYSTEM-MIB;

synoUPS  OBJECT IDENTIFIER
	::= { synology 4 }

PositiveInteger ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "This data type is a non-zero and non-negative value."
    SYNTAX       INTEGER (1..2147483647)

NonNegativeInteger ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "This data type is a non-negative value."
    SYNTAX       INTEGER (0..2147483647)

--
-- The Device Identification group.
--      All objects in this group except for upsIdentName and
--      upsIdentAttachedDevices are set at device initialization
--      and remain static.
--

--
-- Device Group
--

upsDevice              OBJECT IDENTIFIER ::= { synoUPS 1 }

upsDeviceModel OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device model"
    ::= { upsDevice 1 }

upsDeviceManufacturer OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device manufacturer"
    ::= { upsDevice 2 }

upsDeviceSerial OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device serial number."
    ::= { upsDevice 3 }

upsDeviceType OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device type (ups, pdu, scd, psu)"
    ::= { upsDevice 4 }

upsDeviceDescription OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device description."
    ::= { upsDevice 5 }

upsDeviceContact OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device administrator name."
    ::= { upsDevice 6 }

upsDeviceLocation OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device physical location."
    ::= { upsDevice 7 }

upsDevicePart OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Device part number."
    ::= { upsDevice 8 }

upsDeviceMACAddr OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Physical network address of the device."
    ::= { upsDevice 9 }

--
-- UPS Group
--

upsInfo              OBJECT IDENTIFIER ::= { synoUPS 2 }

upsInfoStatus OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS status."
    ::= { upsInfo 1 }

upsInfoAlarm OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS alarms"
    ::= { upsInfo 2 }

upsInfoTime OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Internal UPS clock time"
    ::= { upsInfo 3 }

upsInfoDate OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Internal UPS clock date"
    ::= { upsInfo 4 }

upsInfoModel OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS model"
    ::= { upsInfo 5 }

upsInfoMfr              OBJECT IDENTIFIER ::= { upsInfo 6 }

upsInfoMfrName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS manufacturer"
    ::= { upsInfoMfr 1 }

upsInfoMfrDate OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS manufacturing date"
    ::= { upsInfoMfr 2 }

upsInfoSerial OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS serial number"
    ::= { upsInfo 7 }

upsInfoVendorID OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Vendor ID for USB devices"
    ::= { upsInfo 8 }

upsInfoProductID OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Product ID for USB devices"
    ::= { upsInfo 9 }

upsInfoFirmware              OBJECT IDENTIFIER ::= { upsInfo 10 }

upsInfoFirmwareName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS firmware"
    ::= { upsInfoFirmware 1 }

upsInfoFirmwareAux OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Auxiliary device firmware"
    ::= { upsInfoFirmware 2 }

upsInfoTemperature OBJECT-TYPE
    SYNTAX     Float
	UNITS      "degree C"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS temperature (degrees C)"
    ::= { upsInfo 11 }

upsInfoLoad              OBJECT IDENTIFIER ::= { upsInfo 12 }

upsInfoLoadValue OBJECT-TYPE
    SYNTAX     Float
	UNITS      "percentage"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Load on UPS (percent)"
    ::= { upsInfoLoad 1 }

upsInfoLoadHigh OBJECT-TYPE
    SYNTAX     Float
	UNITS      "percentage"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Load when UPS switches to overload condition (OVER) (percent)"
    ::= { upsInfoLoad 2 }

upsInfoID OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS system identifier"
    ::= { upsInfo 13 }

upsInfoDelay              OBJECT IDENTIFIER ::= { upsInfo 14 }

upsInfoDelayStart OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Interval to wait before restarting the load (seconds)"
    ::= { upsInfoDelay 1 }

upsInfoDelayReboot OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Interval to wait before rebooting the UPS (seconds)"
    ::= { upsInfoDelay 2 }

upsInfoDelayShutdown OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Interval to wait after shutdown with delay command (seconds)"
    ::= { upsInfoDelay 3 }

upsInfoTimer              OBJECT IDENTIFIER ::= { upsInfo 15 }

upsInfoTimerStart OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Time before the load will be started (seconds)"
    ::= { upsInfoTimer 1 }

upsInfoTimerReboot OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Time before the load will be rebooted (seconds)"
    ::= { upsInfoTimer 2 }

upsInfoTimerShutdown OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Time before the load will be shutdown (seconds)"
    ::= { upsInfoTimer 3 }

upsInfoTest              OBJECT IDENTIFIER ::= { upsInfo 16 }

upsInfoTestInterval OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Interval between self tests"
    ::= { upsInfoTest 1 }

upsInfoTestResult OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Results of last self test"
    ::= { upsInfoTest 2 }

upsInfoDisplayLanguage OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Language to use on front panel"
    ::= { upsInfo 17 }

upsInfoContacts OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS external contact sensors"
    ::= { upsInfo 18 }

upsInfoEffciency OBJECT-TYPE
    SYNTAX     NonNegativeInteger
	UNITS      "percent"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Efficiency of the UPS (ratio of the output current on the input current) (percent)"
    ::= { upsInfo 19 }

upsInfoPower              OBJECT IDENTIFIER ::= { upsInfo 20 }

upsInfoPowerValue OBJECT-TYPE
    SYNTAX     Float
	UNITS      "Volt-Amps"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Current value of apparent power (Volt-Amps)"
    ::= { upsInfoPower 1 }

upsInfoPowerNominal OBJECT-TYPE
    SYNTAX     Float
	UNITS      "Volt-Amps"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal value of apparent power (Volt-Amps)"
    ::= { upsInfoPower 2 }

upsInfoRealPower              OBJECT IDENTIFIER ::= { upsInfo 21 }

upsInfoRealPowerValue OBJECT-TYPE
    SYNTAX     Float
	UNITS      "Watts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Current value of real power (Watts)"
    ::= { upsInfoRealPower 1 }

upsInfoRealPowerNominal OBJECT-TYPE
    SYNTAX     Float
	UNITS      "Watts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal value of real power (Watts)"
    ::= { upsInfoRealPower 2 }

upsInfoBeeperStatus OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS beeper status (enabled, disabled or muted)"
    ::= { upsInfo 22 }

upsInfoType OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS type"
    ::= { upsInfo 23 }

upsInfoWatchdogStatus OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS watchdog status (enabled or disabled)"
    ::= { upsInfo 24 }

upsInfoStart              OBJECT IDENTIFIER ::= { upsInfo 25 }

upsInfoStartAuto OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS starts when mains is (re)applied"
    ::= { upsInfoStart 1 }

upsInfoStartBattery OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Allow to start UPS from battery"
    ::= { upsInfoStart 2 }

upsInfoStartReboot OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "UPS coldstarts from battery (enabled or disabled)"
    ::= { upsInfoStart 3 }


--
-- Battery Group
--

upsBattery            OBJECT IDENTIFIER ::= { synoUPS 3 }

upsBatteryCharge            OBJECT IDENTIFIER ::= { upsBattery 1 }

upsBatteryChargeValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Percent"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery charge"
    ::= { upsBatteryCharge 1 }

upsBatteryChargeLow OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Percent"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Remaining battery level when UPS switches to LB (percent)"
    ::= { upsBatteryCharge 2 }

upsBatteryChargeRestart OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Percent"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Minimum battery level for UPS restart after power-off"
    ::= { upsBatteryCharge 3 }

upsBatteryChargeWarning OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Percent"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery level when UPS switches to Warning state (percent)"
    ::= { upsBatteryCharge 4 }

upsBatteryVoltage            OBJECT IDENTIFIER ::= { upsBattery 2 }

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

upsBatteryVoltageNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volt DC"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal battery voltage."
    ::= { upsBatteryVoltage 2 }

upsBatteryVoltageLow OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volt DC"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Minimum battery voltage, that triggers FSD status ."
    ::= { upsBatteryVoltage 3 }

upsBatteryVoltageHigh OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volt DC"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Maximum battery voltage (Ie battery.charge = 100)."
    ::= { upsBatteryVoltage 4 }

upsBatteryCapacity OBJECT-TYPE
    SYNTAX     Float
    UNITS      "A"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery capacity (Ah)"
    ::= { upsBattery 3 }

upsBatteryCurrent OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Amp DC"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The present battery current."
    ::= { upsBattery 4 }

upsBatteryTemperature OBJECT-TYPE
    SYNTAX     Float
    UNITS      "degrees Centigrade"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The ambient temperature at or near the UPS Battery
            casing."
    ::= { upsBattery 5 }

upsBatteryRuntime            OBJECT IDENTIFIER ::= { upsBattery 6 }

upsBatteryRuntimeValue OBJECT-TYPE
    SYNTAX     NonNegativeInteger
    UNITS      "Seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery runtime (seconds)"
    ::= { upsBatteryRuntime 1 }

upsBatteryRuntimeLow OBJECT-TYPE
    SYNTAX     NonNegativeInteger
    UNITS      "Seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Remaining battery runtime when UPS switches to LB (seconds)"
    ::= { upsBatteryRuntime 2 }

upsBatteryRuntimeRestart OBJECT-TYPE
    SYNTAX     NonNegativeInteger
    UNITS      "Seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Minimum battery runtime for UPS restart after power-off (seconds)"
    ::= { upsBatteryRuntime 3 }

upsBatteryAlarmThreshold OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery alarm threshold"
    ::= { upsBattery 7 }

upsBatteryDate OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery change date"
    ::= { upsBattery 8 }

upsBatteryMfrDate OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery manufacturing date"
    ::= { upsBattery 9 }

upsBatteryPacks OBJECT-TYPE
    SYNTAX     NonNegativeInteger
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of battery packs"
    ::= { upsBattery 10 }

upsBatteryPacksBad OBJECT-TYPE
    SYNTAX     NonNegativeInteger
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bad battery packs"
    ::= { upsBattery 11 }

upsBatteryType OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Battery chemistry"
    ::= { upsBattery 12 }

upsBatteryProtection OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Prevent deep discharge of battery"
    ::= { upsBattery 13 }

upsBatteryEnergySave OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Switch off when running on battery and no/low load"
    ::= { upsBattery 14 }

--
-- Input Group
--

upsInput              OBJECT IDENTIFIER ::= { synoUPS 4 }

upsInputVoltage  OBJECT IDENTIFIER ::= { upsInput 1 }

upsInputVoltageValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Input voltage"
    ::= { upsInputVoltage 1 }

upsInputVoltageMax OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Maximum incoming voltage seen"
    ::= { upsInputVoltage 2 }

upsInputVoltageMin OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Minimum incoming voltage seen"
    ::= { upsInputVoltage 3 }

upsInputVoltageNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal input voltage"
    ::= { upsInputVoltage 4 }

upsInputVoltageExtend OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Extended input voltage range"
    ::= { upsInputVoltage 5 }

upsInputVoltageFault OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Input voltage Fault"
    ::= { upsInputVoltage 6 }


upsInputTransfer  OBJECT IDENTIFIER ::= { upsInput 2 }

upsInputTransferReason OBJECT-TYPE
	SYNTAX     DisplayString (SIZE(0..63))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
	"Reason for last transfer to battery"
	::= { upsInputTransfer 1 }

upsInputTransferLow OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Low voltage transfer point"
    ::= { upsInputTransfer 2 }

upsInputTransferHigh OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "High voltage transfer point"
    ::= { upsInputTransfer 3 }

upsInputTransferLowMin OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "smallest settable low voltage transfer point"
    ::= { upsInputTransfer 4 }

upsInputTransferLowMax OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "greatest settable low voltage transfer point"
    ::= { upsInputTransfer 5 }

upsInputTransferHighMin OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "smallest settable high voltage transfer point"
    ::= { upsInputTransfer 6 }

upsInputTransferHighMax OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "greatest settable high voltage transfer point"
    ::= { upsInputTransfer 7 }

upsInputTransferBoostLow OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Low voltage boosting transfer point"
    ::= { upsInputTransfer 8 }

upsInputTransferBoostHigh OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "High voltage boosting transfer point"
    ::= { upsInputTransfer 9 }

upsInputTransferTrimLow OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Low voltage trimming transfer point"
    ::= { upsInputTransfer 10 }

upsInputTransferTrimHigh OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "High voltage trimming transfer point"
    ::= { upsInputTransfer 11 }

upsInputSensitivity OBJECT-TYPE
	SYNTAX     DisplayString (SIZE(0..63))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
	"Input power sensitivity"
	::= { upsInput 3 }

upsInputQuality OBJECT-TYPE
	SYNTAX     DisplayString (SIZE(0..63))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
	"Input power quality"
	::= { upsInput 4 }

upsInputCurrent  OBJECT IDENTIFIER ::= { upsInput 5 }

upsInputCurrentValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Amp"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Input current (A)"
    ::= { upsInputCurrent 1 }

upsInputCurrentNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Amp"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal input current (A)"
    ::= { upsInputCurrent 2 }

upsInputFrequency  OBJECT IDENTIFIER ::= { upsInput 6 }

upsInputFrequencyValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Hz"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Input line frequency (Hz)"
    ::= { upsInputFrequency 1 }

upsInputFrequencyNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Hz"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal input line frequency (Hz)"
    ::= { upsInputFrequency 2 }

upsInputFrequencyLow OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Hz"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Input line frequency low (Hz)"
    ::= { upsInputFrequency 3 }

upsInputFrequencyHigh OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Hz"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Input line frequency high (Hz)"
    ::= { upsInputFrequency 4 }

upsInputFrequencyExtend OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Extended input frequency range"
    ::= { upsInputFrequency 5 }

--
-- The Output group.
--

upsOutput             OBJECT IDENTIFIER ::= { synoUPS 5 }

upsOutputVoltage  OBJECT IDENTIFIER ::= { upsOutput 1 }

upsOutputVoltageValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Output voltage (V)"
    ::= { upsOutputVoltage 1 }

upsOutputVoltageNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Volts"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal output voltage (V)"
    ::= { upsOutputVoltage 2 }

upsOutputFrequency  OBJECT IDENTIFIER ::= { upsOutput 2 }

upsOutputFrequencyValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Hz"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Output frequency (Hz)"
    ::= { upsOutputFrequency 1 }

upsOutputFrequencyNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Hz"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal output frequency (Hz)"
    ::= { upsOutputFrequency 2 }

upsOutputCurrent  OBJECT IDENTIFIER ::= { upsOutput 3 }

upsOutputCurrentValue OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Amp"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Output current (A)"
    ::= { upsOutputCurrent 1 }

upsOutputCurrentNominal OBJECT-TYPE
    SYNTAX     Float
    UNITS      "Amp"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Nominal output current (A)"
    ::= { upsOutputCurrent 2 }

--
-- The ambient group.
--

upsAmbient             OBJECT IDENTIFIER ::= { synoUPS 6 }

upsAmbientTemperature  OBJECT IDENTIFIER ::= { upsAmbient 1 }

upsAmbientTemperatureValue OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "degrees Centigrade"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Ambient temperature (degrees C)"
	::= { upsAmbientTemperature 1 }

upsAmbientTemperatureAlarm OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
 	UNITS      "enabled/disabled"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Temperature alarm (enabled/disabled)"
	::= { upsAmbientTemperature 2 }

upsAmbientTemperatureHigh OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "degrees Centigrade"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Temperature threshold high (degrees C)"
	::= { upsAmbientTemperature 3 }

upsAmbientTemperatureLow OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "degrees Centigrade"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Temperature threshold low (degrees C)"
	::= { upsAmbientTemperature 4 }

upsAmbientTemperatureMax OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "degrees Centigrade"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Maximum temperature seen (degrees C)"
	::= { upsAmbientTemperature 5 }

upsAmbientTemperatureMin OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "degrees Centigrade"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Minimum temperature seen (degrees C)"
	::= { upsAmbientTemperature 6 }

upsAmbientHumidity  OBJECT IDENTIFIER ::= { upsAmbient 2 }

upsAmbientHumidityValue OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "percent"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Ambient relative humidity (percent)"
	::= { upsAmbientHumidity 1 }

upsAmbientHumidityAlarm OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
 	UNITS      "enabled/disabled"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Relative humidity alarm (enabled/disabled)"
	::= { upsAmbientHumidity 2 }

upsAmbientHumidityHigh OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "percent"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Relative humidity threshold high (percent)"
	::= { upsAmbientHumidity 3 }

upsAmbientHumidityLow OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "percent"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Relative humidity threshold low (percent)"
	::= { upsAmbientHumidity 4 }

upsAmbientHumidityMax OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "percent"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Maximum relative humidity seen (percent)"
	::= { upsAmbientHumidity 5 }

upsAmbientHumidityMin OBJECT-TYPE
    SYNTAX     Float
 	UNITS      "percent"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Minimum relative humidity seen (percent)"
	::= { upsAmbientHumidity 6 }

--
-- The Driver group.
--

upsDriver             OBJECT IDENTIFIER ::= { synoUPS 7 }

upsDriverName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Driver name"
	::= { upsDriver 1 }

upsDriverVersion OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Driver version (NUT release)"
	::= { upsDriver 2 }

upsDriverVersionData OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Driver version data"
	::= { upsDriver 3 }


upsDriverVersionInternal OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Internal driver version (if tracked separately)"
	::= { upsDriver 4 }

upsDriverPollInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "second"
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Poll interval setup in configuration file"
	::= { upsDriver 5 }

upsDriverPort OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Port setup in configuration file"
	::= { upsDriver 6 }

upsDriverPollFrequency OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Poll frequency"
	::= { upsDriver 7 }

upsDriverProductID OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Product ID"
	::= { upsDriver 8 }

upsDriverSnmpVersion OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Snmp version"
	::= { upsDriver 9 }

--
-- The server group.
--

upsServer             OBJECT IDENTIFIER ::= { synoUPS 8 }

upsServerInfo OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Server information"
	::= { upsServer 1 }

upsServerVersion OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..63))
    MAX-ACCESS read-only
    STATUS     current
	DESCRIPTION
	"Server version"
	::= { upsServer 2 }


END
