-- *****************************************************************
-- FS-RS485-CLASS-MIB.mib:  FS Rs485 Class MIB file
-- 1.3.6.1.4.1.52642.1.1.10.2.149
--
-- June 2016, Wushitang
--
-- Copyright (c) 2016 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-RS485-CLASS-MIB DEFINITIONS ::= BEGIN

IMPORTS
      MODULE-IDENTITY,
      NOTIFICATION-TYPE,
      OBJECT-TYPE,
      IpAddress,
      Counter32
              FROM SNMPv2-SMI
      PhysAddress
              FROM SNMPv2-TC
      Counter
              FROM RFC1155-SMI
      fsMgmt
              FROM FS-SMI;

fsRs485MIB MODULE-IDENTITY
      LAST-UPDATED "200703200000Z"
      ORGANIZATION "FS.COM Inc.."
      CONTACT-INFO
              " 
              Tel: 400-865-2852 

              E-mail: https://www.fs.com/live_chat_service_mail.html"
      DESCRIPTION
              "This module defines fs smart class mibs."
      REVISION      "200703200000Z"
      DESCRIPTION
              "Initial version of this MIB module."
      ::= { fsMgmt 149 }

fsRs485MIBObjects  OBJECT IDENTIFIER ::= { fsRs485MIB 1 }
fsRs485MIBTrap  OBJECT IDENTIFIER ::= { fsRs485MIB 2 }

fsRs485IpAddress OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "This object indicates the IP address of RS485."
        ::= { fsRs485MIBObjects 1 }    

fsRs485IpAddressMask OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "This object indicates the IP address mask."
        ::= { fsRs485MIBObjects 2 }    
        
fsRs485Gateway OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "This object indicates the gateway."
        ::= { fsRs485MIBObjects 3 }    
        
fsRs485Mac OBJECT-TYPE
        SYNTAX         PhysAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "This object indicates the MAC address of RS485."
        ::= { fsRs485MIBObjects 4 }        
        
fsRs485ServerMode OBJECT-TYPE
    SYNTAX  INTEGER {
          client(0),
          server(1)
      }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
              "To control wheather Rs485 is server for controller use."              
         ::= { fsRs485MIBObjects 5 }

fsRs485SerialNum OBJECT-TYPE
    SYNTAX  INTEGER (1..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
              "The number of serial port."              
         ::= { fsRs485MIBObjects 6 }

fsRs485TelnetIp OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "The telnet connect IP when RS485 in controller mode."
        ::= { fsRs485MIBObjects 7 }             

fsRs485State OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The running status of Rs485."
        ::= { fsRs485MIBObjects 8 }  

fsRs485SerialPower1 OBJECT-TYPE
        SYNTAX  INTEGER {
            unknown(0),
            normal(1),  -- normal
            short(2),  
            break(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The serial power 1 state."
        ::= { fsRs485MIBObjects 9 }

fsRs485SerialPower2 OBJECT-TYPE
        SYNTAX  INTEGER {
            unknown(0),
            normal(1),  -- normal
            short(2),  
            break(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The serial power 1 state."
        ::= { fsRs485MIBObjects 10 }        
        
fsRs485SerialPower3 OBJECT-TYPE
        SYNTAX  INTEGER {
            unknown(0),
            normal(1),  -- normal
            short(2),  
            break(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The serial power 1 state."
        ::= { fsRs485MIBObjects 11 }

fsRs485SerialPower4 OBJECT-TYPE
        SYNTAX  INTEGER {
            unknown(0),
            normal(1),  -- normal
            short(2),  
            break(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The serial power 1 state."
        ::= { fsRs485MIBObjects 12 }        

--RS485 VLAN table --
    
fsRs485VlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSRs485VlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan for Rs485 serial port use."
        ::= { fsRs485MIBObjects 13 }

fsRs485VlanEntry OBJECT-TYPE
        SYNTAX FSRs485VlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains Rs485 serial port number
            and corresponding VLAN."
        INDEX {fsRs485SerialPort}
        ::= { fsRs485VlanTable 1 }

FSRs485VlanEntry ::=
        SEQUENCE {
            fsRs485SerialPort Counter,
            fsRs485VLANID INTEGER,
            fsRs485Baudrate INTEGER,
            fsRs485Parity INTEGER,
            fsClassSerialType INTEGER,
            fsClassStatus INTEGER,
            fsClassIsTeleControl INTEGER
        }
fsRs485SerialPort OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The serial number of Rs485."
        ::= { fsRs485VlanEntry 1 }

fsRs485VLANID OBJECT-TYPE
        SYNTAX  INTEGER (2..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The VLAN of Rs485 serial port use."
        ::= { fsRs485VlanEntry 2 }

fsRs485Baudrate OBJECT-TYPE
        SYNTAX  INTEGER (200..999999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The baud rate of Rs485 serial port use."
        ::= { fsRs485VlanEntry 3 }

fsRs485Parity OBJECT-TYPE
        SYNTAX  INTEGER {
            none(1),
            odd(2),
            even(3),
            mark(4),
            space(5)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The parity of Rs485 serial port use."
        ::= { fsRs485VlanEntry 4 }

--used for class        
fsClassSerialType OBJECT-TYPE
        SYNTAX  INTEGER {
                    rs485(0),
                    rs232(1)
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The serial port type of controller."
        ::= { fsRs485VlanEntry 5 }
        
fsClassStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(0),
                unnormal(1)
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The status of serial port use."
        ::= { fsRs485VlanEntry 6 }

fsClassIsTeleControl OBJECT-TYPE
        SYNTAX  INTEGER {
                no(0),
                yes(1)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The serial port is used for wireless remote control."
        ::= { fsRs485VlanEntry 7 }        
        
--SSIftable

fsSSIfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSSSIfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "List interface configuration of Switch Smart."
        ::= { fsRs485MIBObjects 14 }

fsSSIfEntry OBJECT-TYPE
        SYNTAX FSSSIfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains interface configuration."
        INDEX {fsSSIfIndex}
        ::= { fsSSIfTable 1 }

FSSSIfEntry ::=
        SEQUENCE {
            fsSSIfIndex Counter,
            fsSSIfAccessVlan INTEGER,
            fsSSIfNativeVlan INTEGER,
            fsSSIfTrunk INTEGER,
            fsSSIfSpeed INTEGER,
            fsSSIfDuplex INTEGER,
            fsSSIfNegotiation INTEGER
        }
fsSSIfIndex OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The interface index of switch smart."
        ::= { fsSSIfEntry 1 }

fsSSIfAccessVlan OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The VLAN whitch the interface belongs to."
        ::= { fsSSIfEntry 2 }        
fsSSIfNativeVlan OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The native vlan of the interface."
        ::= { fsSSIfEntry 3 }            
fsSSIfTrunk OBJECT-TYPE
        SYNTAX  INTEGER {
                disable(0),
                enable(1)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable trunk of the interface."
        ::= { fsSSIfEntry 4 }            

fsSSIfSpeed OBJECT-TYPE
        SYNTAX  INTEGER {
                speed_10M(0),
                speed_100M(1),
                speed_1000M(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Speed set of the interface."
        ::= { fsSSIfEntry 5 }
        
fsSSIfDuplex OBJECT-TYPE
        SYNTAX  INTEGER {
                half(0),
                full(1)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Duplex set of the interface."
        ::= { fsSSIfEntry 6 }        

fsSSIfNegotiation OBJECT-TYPE
        SYNTAX  INTEGER {
                disable(0),
                enable(1)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable negotiation of the interface."
        ::= { fsSSIfEntry 7 }    

fsRs485IpSetStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                default(0),
                enable(1),  -- ip set enable
                dhcp(2)    --enable dhcp 
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable set ip address of rs485."
        ::= { fsRs485MIBObjects 15 }

fsLabelIDReg OBJECT-TYPE
        SYNTAX         PhysAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "Register a new label ID."
        ::= { fsRs485MIBObjects 16 }        

fsLabelTypeReg OBJECT-TYPE
        SYNTAX  INTEGER {
                default(0),
                rfid(1),  -- RFID
                ble(2),
                zibgee(3) --ZIGBEE
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Set label type."
        ::= { fsRs485MIBObjects 17 }
        
fsLabelRegStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                default(0),
                enable(1)  -- enable register new label id
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable register new label ID & type."
        ::= { fsRs485MIBObjects 18 }
        

--Label Info table --
    
fsLabelInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSLabelInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Label information table."
        ::= { fsRs485MIBObjects 19 }

fsLabelInfoEntry OBJECT-TYPE
        SYNTAX FSLabelInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains Label information."
        INDEX {fsLabelType,
               fsLabelID }
        ::= { fsLabelInfoTable 1 }

FSLabelInfoEntry ::=
        SEQUENCE {
            fsLabelType INTEGER,
            fsLabelID PhysAddress,
            fsLabelActiveStatus INTEGER,
            fsLabelPowerStatus INTEGER,
            fsLabelWarningCancel INTEGER,
            fsLabelUnregStatus INTEGER,
            fsLabelStolenWarningStatus INTEGER
        }

fsLabelType OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                rfid(1),
                ble(2),
                zigbee(3)
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The Label type."
        ::= { fsLabelInfoEntry 1 }
        
fsLabelID OBJECT-TYPE
        SYNTAX  PhysAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The Label ID."
        ::= { fsLabelInfoEntry 2 }

fsLabelActiveStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                active(1),
                deactive(2),
                active-success-ack(3),
                active-fail-ack(4),
                deactive-success-ack(5),
                deactive-fail-ack(6)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The Label active or deactive command."
        ::= { fsLabelInfoEntry 3 }

fsLabelPowerStatus OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The Label power status."
        ::= { fsLabelInfoEntry 4 }

fsLabelWarningCancel OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                cancel-stolen(1), --cancel stolen trap
                cancel-power(2),  --cancel power trap
                cancel-unnormal(3)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Cancel Trap warning."
        ::= { fsLabelInfoEntry 5 }


fsLabelUnregStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                apply-unreg(1), --apply unreg
                unreg(2),       --unreg
                allow-unreg(3),
                not-allow-unreg(4),
                reg-success(5), --reg successful
                reg-failed(6)   --reg failed
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Apply unreg Label."
        ::= { fsLabelInfoEntry 6 }        

fsLabelStolenWarningStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                normal(1),       --normal
                stolen(2),       --stolen
                unnormal(3)      --unnormal
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "Show label status."
        ::= { fsLabelInfoEntry 7 }                

fsRs485TrapIp OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "Set the Trap destination IP."
        ::= { fsRs485MIBObjects 20 }             

fsRs485HeartbeatStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                normal(1)
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The heartbeat between rs485 and management system."
        ::= { fsRs485MIBObjects 21 }          
        
fsClassPDUPower1 OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                break(1),
                normal(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The PDU power 1 state."
        ::= { fsRs485MIBObjects 22 }

fsClassPDUPower2 OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                break(1),
            normal(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The PDU power 2 state."
        ::= { fsRs485MIBObjects 23 }
        
fsClassDeviceAddType OBJECT-TYPE
        SYNTAX INTEGER {
                unknown(0),
                video(1),
                audio(2),
                videoandaudio(3),
                light(4),
                air-con(5),
                record(6),
                projector(7),
                screen(8),
                app-pad(9),
                smart-switch(10)
            }
        MAX-ACCESS   read-write
        STATUS current
        DESCRIPTION
            "Add new class device and specify the type."
        ::= { fsRs485MIBObjects 24 }

fsClassDeviceAddID OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Add new class device and specify the index."
        ::= { fsRs485MIBObjects 25 }
  
fsClassDeviceAddStatus OBJECT-TYPE
        SYNTAX INTEGER {
                add(1)
            }
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Add new class device right now."
        ::= { fsRs485MIBObjects 26 }    
        

--class device table

fsClassDeviceInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSClassDeviceInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Class Device information table."
        ::= { fsRs485MIBObjects 27 }

fsClassDeviceInfoEntry OBJECT-TYPE
        SYNTAX FSClassDeviceInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains Class Device information."
        INDEX { fsClassDeviceType, fsClassDeviceID }
        ::= { fsClassDeviceInfoTable 1 }

FSClassDeviceInfoEntry ::=
        SEQUENCE {
            fsClassDeviceType INTEGER,
            fsClassDeviceID INTEGER,
            fsClassDeviceIconType INTEGER,
            fsClassDeviceName OCTET STRING,
            fsClassDeviceModelID INTEGER,
            fsClassDeviceControlSerial INTEGER,
            fsClassDeviceTeleControlPort INTEGER,
            fsClassDeviceIOType INTEGER,
            fsClassDeviceVideoPort INTEGER,
            fsClassDeviceAudioPort INTEGER,
            fsClassDeviceVideoUsedStatus INTEGER,
            fsClassDeviceAudioUsedStatus INTEGER,
            fsClassDeviceSwitch INTEGER,
            fsClassDeviceState INTEGER,
            fsClassDeviceZigbeeID INTEGER,
            fsClassDeviceSetStatus INTEGER,
            fsClassDeviceIP IpAddress,
            fsClassBindDeviceID INTEGER,
            fsClassBatchSupport INTEGER
        }
        
fsClassDeviceType OBJECT-TYPE
        SYNTAX  INTEGER  {
                unknown(0),
                video(1),
                audio(2),
                videoandaudio(3),
                light(4),
                air-con(5),
                record(6),
                projector(7),
                screen(8),
                app-pad(9),
                smart-switch(10)
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "Device type."
        ::= { fsClassDeviceInfoEntry 1 }        

fsClassDeviceID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "Device ID."
        ::= { fsClassDeviceInfoEntry 2 }
        
fsClassDeviceIconType OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device icon type the APP used."
        ::= { fsClassDeviceInfoEntry 3 }    
        
fsClassDeviceName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..20))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device name."
        ::= { fsClassDeviceInfoEntry 4 }

fsClassDeviceModelID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device model ID."
        ::= { fsClassDeviceInfoEntry 5 }
        
fsClassDeviceControlSerial OBJECT-TYPE
        SYNTAX  INTEGER (0..10)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Control serial port."
        ::= { fsClassDeviceInfoEntry 6 }

fsClassDeviceTeleControlPort OBJECT-TYPE
        SYNTAX  INTEGER (0..10)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Tele control port."
        ::= { fsClassDeviceInfoEntry 7 }

fsClassDeviceIOType OBJECT-TYPE
        SYNTAX  INTEGER {
                input(0),
                output(1),
                other(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device input or output type."
        ::= { fsClassDeviceInfoEntry 8 }

fsClassDeviceVideoPort OBJECT-TYPE
        SYNTAX  INTEGER (0..4)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Video port."
        ::= { fsClassDeviceInfoEntry 9 }        

fsClassDeviceAudioPort OBJECT-TYPE
        SYNTAX  INTEGER (0..4)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Audio port."
        ::= { fsClassDeviceInfoEntry 10 }    

fsClassDeviceVideoUsedStatus OBJECT-TYPE
        SYNTAX  INTEGER {
               unused(0),
               used(1)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Video used status."
        ::= { fsClassDeviceInfoEntry 11 }    

fsClassDeviceAudioUsedStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unused(0),
                used(1)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Audio used status."
        ::= { fsClassDeviceInfoEntry 12 }        
        
fsClassDeviceSwitch OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device switch status."
        ::= { fsClassDeviceInfoEntry 13 }

fsClassDeviceState OBJECT-TYPE
        SYNTAX  INTEGER {
                default(0),
                normal(1),
                no-ack(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device communicate state."
        ::= { fsClassDeviceInfoEntry 14 }    

fsClassDeviceZigbeeID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device value config status."
        ::= { fsClassDeviceInfoEntry 15 }
        
fsClassDeviceSetStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unset(0),
                set(1),
                delete(2),
                update(3)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device info set status."
        ::= { fsClassDeviceInfoEntry 16 }
        
fsClassDeviceIP OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS   read-write
        STATUS         current
        DESCRIPTION
            "The ip address of the device."
        ::= { fsClassDeviceInfoEntry 17 }    

fsClassBindDeviceID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device Switch bind device id ."
        ::= { fsClassDeviceInfoEntry 18 }

fsClassBatchSupport OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device whether support batch or not."
        ::= { fsClassDeviceInfoEntry 19 }        
        
-- APP login

fsClassAPPUsername OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..12))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "APP login user name."
        ::= { fsRs485MIBObjects 28 }
    
fsClassAPPPassword OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..12))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "APP login password."
        ::= { fsRs485MIBObjects 29 }
        
fsClassAPPAuth OBJECT-TYPE
        SYNTAX  INTEGER {
                success(0),
                failed(1),
                success-update(2),
                card-success(3),
                card-failed(4),
                user-info(5)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Server authority to APP."
        ::= { fsRs485MIBObjects 30 }


--Telecommand 
fsClassCMDDeviceModelID OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Device model id."
        ::= { fsRs485MIBObjects 31 }
        
fsClassCMDType OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The telecommand type."
        ::= { fsRs485MIBObjects 32 }

fsClassCommand OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..20))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The telecommand string."
        ::= { fsRs485MIBObjects 33 }

fsClassCommandSetStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                auto-get(1),
                set(2),
                delete(3)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Auto get telecommand or set telecommand now."
        ::= { fsRs485MIBObjects 34 }
        
fsClassOperAll OBJECT-TYPE
        SYNTAX  INTEGER {
                open-all(1),
                close-all(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Operation all device ."
        ::= { fsRs485MIBObjects 35 }

fsClassCardID OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..12))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Card ID when swipe card."
        ::= { fsRs485MIBObjects 36 }
    
fsClassDateTime OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Date time ."
        ::= { fsRs485MIBObjects 37 }    
        
fsClassAPPUpdateReq OBJECT-TYPE
        SYNTAX  INTEGER {
                device_req(1),
                user_auth_req(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "APP update local info request ."
        ::= { fsRs485MIBObjects 38 }    

fsClassUpdateFileName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The bin file name used for upgrade."
        ::= { fsRs485MIBObjects 39 }

fsClassUpdate OBJECT-TYPE
        SYNTAX  INTEGER {
                    start(1)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable start upgrade process ."
        ::= { fsRs485MIBObjects 40 }    

fsClassSoftVersion OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The soft version info."
        ::= { fsRs485MIBObjects 41 }

fsClassChannel OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..128))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The Channel for SNC conmunicating with APP."
        ::= { fsRs485MIBObjects 42 }        

fsClassOldDeviceIP OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The Old device IP address for notify SCP."
        ::= { fsRs485MIBObjects 43 }    

fsClassCommunity OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The Community of SNMP."
        ::= { fsRs485MIBObjects 44 }
        
fsClassUpdateStatus OBJECT-TYPE
        SYNTAX INTEGER {
            init(0),
            scc_update_start(1),
            scc_update_success(2),
            scc_update_crc_error(3),
            scc_update_product_id_error(4),
            scc_update_tftp_timeout_error(5),
            remote_device_update_no_existerror(6),
            scc_update_file_too_big_error(7)
        } 
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
             "SCC main, remote Device, update status."
        ::= { fsRs485MIBObjects 45 }
		
fsClassScheduleTableName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The shedule table name."
        ::= { fsRs485MIBObjects 46 }
		
fsClassUpdateScheduleTable OBJECT-TYPE
        SYNTAX  INTEGER {
                    start(1)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable start upgrade schedule ."
        ::= { fsRs485MIBObjects 47 }
		
fsClassScheduleTableUpdateStatus OBJECT-TYPE
        SYNTAX INTEGER {
            init(0),
            scc_update_start(1),
            scc_update_success(2),
            scc_update_crc_error(3),
			scc_update_product_id_error(4),
            scc_update_tftp_timeout_error(5),
			scc_remote_no_exist_error(6),
			scc_update_file_too_big_error(7),
			scc_update_redo(8)
        } 
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
             "the scc schedule update status"
        ::= { fsRs485MIBObjects 48 }
		
fsClassCheckTableName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..64))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "Get Check Table Name."
        ::= { fsRs485MIBObjects 49 }
		
fsClassReadCheckTable OBJECT-TYPE
        SYNTAX  INTEGER {
                    start(1)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "Enable readback check schedule ."
        ::= { fsRs485MIBObjects 50 }
		
fsClassReadCheckTable1UploadStatus OBJECT-TYPE
        SYNTAX  INTEGER {
            init(0),
            scc_update_start(1),
            scc_update_success(2),
            scc_update_crc_error(3),
			scc_update_product_id_error(4),
            scc_update_tftp_timeout_error(5),
			scc_remote_no_exist_error(6),
			scc_update_file_too_big_error(7)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "Readback check schedule Upload Status ."
        ::= { fsRs485MIBObjects 51 }  
		
fsClassLampTimeClass OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
             "read back the lamp time"
        ::= { fsRs485MIBObjects 52 }

fsClassDeleteRecordTable OBJECT-TYPE
        SYNTAX INTEGER {
                   start(1)
        } 
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
             "delete the record table"
        ::= { fsRs485MIBObjects 53 }
		
fsClassSystemTime OBJECT-TYPE
        SYNTAX Counter32 
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
             "System time of SCC"
        ::= { fsRs485MIBObjects 54 }
		
fsClassProjectorFact OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
             "Projector manufacturer"
        ::= { fsRs485MIBObjects 55 }

fsClassProjectorModel OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..64))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
             "Projector model"
        ::= { fsRs485MIBObjects 56 }
		
fsClassAIOFact OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
             "AIO manufacturer"
        ::= { fsRs485MIBObjects 57 }

fsClassAIOModel OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..64))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
             "AIO model"
        ::= { fsRs485MIBObjects 58 }
		
--trap

fsRs485StateChange NOTIFICATION-TYPE
    OBJECTS   { fsRs485State }
    STATUS  current
    DESCRIPTION
            "A state change trap signifies that the
             state of rs485 device is changing."
    ::= { fsRs485MIBTrap 0 }
        
fsRs485Power1Change NOTIFICATION-TYPE
        OBJECTS   { fsRs485SerialPower1 }
        STATUS  current
        DESCRIPTION
              "A power1 change trap signifies that the
              state of rs485 device serial power 1 is changing."
        ::= { fsRs485MIBTrap 1 }

fsRs485Power2Change NOTIFICATION-TYPE
        OBJECTS   { fsRs485SerialPower2 }
        STATUS  current
        DESCRIPTION
              "A power2 change trap signifies that the
              state of rs485 device serial power 2 is changing."
        ::= { fsRs485MIBTrap 2 }
        
fsRs485Power3Change NOTIFICATION-TYPE
        OBJECTS   { fsRs485SerialPower3 }
        STATUS  current
        DESCRIPTION
              "A power3 change trap signifies that the
              state of rs485 device serial power 3 is changing."
        ::= { fsRs485MIBTrap 3 }

fsRs485Power4Change NOTIFICATION-TYPE
        OBJECTS   { fsRs485SerialPower4 }
        STATUS  current
        DESCRIPTION
              "A power4 change trap signifies that the
              state of rs485 device serial power 4 is changing."
        ::= { fsRs485MIBTrap 4 }    

fsRs485TelnetFail NOTIFICATION-TYPE
    OBJECTS   { fsRs485TelnetIp }
    STATUS  current
    DESCRIPTION
        "The Rs485 Telnet Failed."
    ::= { fsRs485MIBTrap 5 }

fsLabelActiveACK NOTIFICATION-TYPE
    OBJECTS   { 
                fsLabelType,
                fsLabelID,
                fsLabelActiveStatus
            }
        STATUS  current    
    DESCRIPTION
        "The Label active ack."
    ::= { fsRs485MIBTrap 6 }

fsLabelLowPower NOTIFICATION-TYPE
    OBJECTS   { 
                fsLabelType,
                fsLabelID,
                fsLabelPowerStatus
            }
        STATUS  current
    DESCRIPTION
        "The Label low power status trap."
    ::= { fsRs485MIBTrap 7 }
        
fsLabelStolen NOTIFICATION-TYPE
    OBJECTS   { 
                fsLabelType,
                fsLabelID,
                fsLabelStolenWarningStatus
            }
        STATUS  current
    DESCRIPTION
        "The Label stolen trap."
    ::= { fsRs485MIBTrap 8 }

fsLabelUnregACK NOTIFICATION-TYPE
    OBJECTS   { 
            fsLabelType,
        fsLabelID,
            fsLabelUnregStatus
        }
        STATUS  current
    DESCRIPTION
        "The Label unreg ack."
    ::= { fsRs485MIBTrap 9 }
        
fsRs485Heartbeat NOTIFICATION-TYPE
        OBJECTS   { fsRs485HeartbeatStatus }
        STATUS  current 
        DESCRIPTION
              "Heart beat between rs485 and management system."
        ::= { fsRs485MIBTrap 10    }    

fsLabelRegACK NOTIFICATION-TYPE
    OBJECTS   { 
            fsLabelType,
            fsLabelID,
            fsLabelUnregStatus
        }
        STATUS  current
    DESCRIPTION
        "The Label reg ack."
    ::= { fsRs485MIBTrap 11 }

--class used trap
fsClassAPPLoginREQ NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassAPPUsername,
            fsClassAPPPassword,
            fsClassDateTime
        }
        STATUS  current
    DESCRIPTION
            "APP user login info send to server."
    ::= { fsRs485MIBTrap 12 }

fsClassAPPOperation NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassDeviceType,
            fsClassDeviceID,
            fsClassDeviceSwitch,
            fsClassDeviceState  
        }
        STATUS  current
    DESCRIPTION
           "APP switch video need trap to server."
    ::= { fsRs485MIBTrap 13 }

fsClassTelecommand NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassDeviceType,
            fsClassCMDType,
            fsClassCommand 
        }
        STATUS  current
    DESCRIPTION
            "Send telecommand to server."
    ::= { fsRs485MIBTrap 14 }
        
fsClassSwipeCard NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassCardID
        }
        STATUS  current
    DESCRIPTION
            "Send card id to server."
    ::= { fsRs485MIBTrap 15 }

fsClassUpdateReq NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassAPPUpdateReq,
            fsClassDateTime
        }
        STATUS  current 
    DESCRIPTION
            "Send update request to server."
    ::= { fsRs485MIBTrap 16 }

fsClassOperationAll  NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassOperAll
        }
        STATUS  current
    DESCRIPTION
            "APP operation all sync to SNC."
    ::= { fsRs485MIBTrap 17 }
        
fsClassChannelToServer  NOTIFICATION-TYPE
    OBJECTS   { 
            fsClassChannel
        }
        STATUS  current
    DESCRIPTION
            "Channel for APP communicating with SNC ."
    ::= { fsRs485MIBTrap 18 }

fsClassDevIPChange  NOTIFICATION-TYPE
    OBJECTS   { 
        fsClassOldDeviceIP,
        fsRs485IpAddress,
        fsRs485Mac
    }
    STATUS  current
    DESCRIPTION
        "Change Device IP, then notify SCP."
    ::= { fsRs485MIBTrap 19 }

fsClassCardOperationAll  NOTIFICATION-TYPE
    OBJECTS   { 
        fsClassCardID,
        fsClassOperAll
    }
    STATUS  current
    DESCRIPTION
        "Swip card to begin class or end class."
    ::= { fsRs485MIBTrap 20 }

fsClassAccountOperationAll  NOTIFICATION-TYPE
    OBJECTS   { 
        fsClassAPPUsername,
		fsClassAPPPassword,
        fsClassOperAll
    }
    STATUS  current
    DESCRIPTION
        "User account to begin class or end class."
    ::= { fsRs485MIBTrap 21 }
	
fsClassTableRedo  NOTIFICATION-TYPE
    OBJECTS   { 
        fsClassScheduleTableUpdateStatus
    }
    STATUS  current
    DESCRIPTION
        "Tell SCP reset table."
    ::= { fsRs485MIBTrap 22 }
	
fsClassDeviceStateChange  NOTIFICATION-TYPE
    OBJECTS   { 
        fsClassDeviceID,
		fsClassDeviceState
    }
    STATUS  current
    DESCRIPTION
        "State change trap of device."
    ::= { fsRs485MIBTrap 23 }
	
END
