NETIO-PRODUCTS-NETIO-MIB DEFINITIONS ::= BEGIN

--	NETIO-MIB 1.05
--
--		History:
--	1.00	 13.7.2016  Bretislav Bakala  - Created
--	1.01	 27.3.2017  Petr Kristal - MODULE-IDENTITY capitals change
--	1.02	 27.5.2017  Jiri Zouhar - Added voltage, frequency, current and power factor.
--	1.03	 8.12.2017  Jiri Zouhar - Fixed outlet power factor range & naming. netioGlobalMeasure and netioOutletTable format definition fixed.
--	1.04	 8.12.2017  Jiri Zouhar - Synchronized naming conventions with other protocols
--	1.05	 6.1.2018   Jiri Zouhar - Change outlet to output in all names
--
--  This is an MIB file for Netio product family - programable and remote controlable LAN/WiFi power sockets
--  www.netio-products.com

IMPORTS
	MODULE-IDENTITY, enterprises, OBJECT-TYPE    FROM SNMPv2-SMI
	DateAndTime                                  FROM SNMPv2-TC

;

netioProducts MODULE-IDENTITY
	LAST-UPDATED "201703270000Z"
	ORGANIZATION "www.netio-products.com"
	CONTACT-INFO
		"postal: NETIO products a.s.
		         Mezi vodami 1955/19
		         CZ 14300, Praha 4, Modrany

		email:    info@netio.eu"
	DESCRIPTION  "Netio specific data structures"
	REVISION     "201703270000Z"
	DESCRIPTION  "NETIO products module"
	::= { enterprises 47952 }

--
-- top level structure
--
netio4        OBJECT IDENTIFIER ::= { netioProducts 1 }


netioOutputTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF NetioOutputEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
	"This table contains current status of Netio outputs."
	 
	::= { netio4 1 }

netioOutputEntry OBJECT-TYPE
	SYNTAX      NetioOutputEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
	"A row describing one netio output."
	INDEX   { netioOutputID }
	::= {netioOutputTable 1 }

NetioOutputEntry ::= SEQUENCE {
	netioOutputID INTEGER(1..4),
	netioOutputName	OCTET STRING,
	netioOutputState	INTEGER(0..1),
	netioOutputStateString	OCTET STRING,
	netioOutputAction	INTEGER(0..5),
	netioOutputLoad INTEGER(0..2147483647), -- Integer32
	netioOutputEnergy INTEGER (0..9223372036854775807), -- Integer64 
	netioOutputEnergyStart DateAndTime,
	netioOutputCurrent INTEGER(0..2147483647),
	netioOutputPowerFactor INTEGER(0..1000)
}

netioOutputID OBJECT-TYPE
	SYNTAX      INTEGER(1..4)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Output number."
	::= { netioOutputEntry 1 }

netioOutputName OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(0..100))
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Description of the output given by user."
	::= { netioOutputEntry 2 }
    
netioOutputState OBJECT-TYPE
	SYNTAX      INTEGER {
		off(0),
		on(1)
	}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Current output state."
	::= { netioOutputEntry 3 }

netioOutputStateString OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(0..20))
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Current output state (string)."
	::= { netioOutputEntry 4 }

netioOutputAction OBJECT-TYPE
	SYNTAX      INTEGER {
		off(0),
		on(1),
		reset(2),
		shortOn(3),
		switch(4),
		idle(5)
	}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	"Command to control output."
	::= { netioOutputEntry 5 }

netioOutputLoad OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Current power consumption in Watts. 0 when power meters are not available"
	::= { netioOutputEntry 25 }

netioOutputEnergy OBJECT-TYPE
	SYNTAX      INTEGER(0..9223372036854775807)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Cumulated consumption from netioOutputEnergyStart. In Wh. 0 when power meters are not available."
	::= { netioOutputEntry 26 }

netioOutputEnergyStart OBJECT-TYPE
	SYNTAX      DateAndTime
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Start time from which energy is counted. UTC based. for backward compatibility only, is the same for all outputs. use netioGlobalMeasure.netioEnergyStart instead."
	::= { netioOutputEntry 27 }

netioOutputCurrent OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Current current in mA. 0 when power meters are not available"
	::= { netioOutputEntry 28 }

netioOutputPowerFactor OBJECT-TYPE
	SYNTAX      INTEGER(0..1000)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Current power factor * 1000. 0 when power meters are not available"
	::= { netioOutputEntry 29 }


netioGlobalMeasure OBJECT IDENTIFIER ::= { netio4 2 }

netioVoltage OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Voltage in the power grid in mV. 0 when power meters are not available"
	 
	::= { netioGlobalMeasure 1 }

netioFrequency OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Frequency in the power grid in mHz. 0 when power meters are not available"
	 
	::= { netioGlobalMeasure 2 }

netioTotalCurrent OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Total current for all outputs in mA. 0 when power meters are not available"
	 
	::= { netioGlobalMeasure 3 }

netioOverallPowerFactor OBJECT-TYPE
	SYNTAX      INTEGER(0..1000)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Overall power factor across all outputs. 0 when power meters are not available"
	 
	::= { netioGlobalMeasure 4 }

netioTotalLoad OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Total load for all outputs in W. 0 when power meters are not available"
	 
	::= { netioGlobalMeasure 5 }

netioTotalEnergy OBJECT-TYPE
	SYNTAX      INTEGER(0..2147483647)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Total energy for all outputs in Wh starting from netioEnergyStart. 0 when power meters are not available"
	 
	::= { netioGlobalMeasure 6 }

netioEnergyStart OBJECT-TYPE
	SYNTAX      DateAndTime
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	"Start time from which energy is counted. UTC based."
	 
	::= { netioGlobalMeasure 7 }

END
