class DaenetIP2
dae = DaenetIP2.new
(“164.0.0.177”,161,“”,“”)
Constants
- READ_ALL
- READ_PORT6
- WRITE_PORT_P3
- WRITE_PORT_P5
Attributes
ip[RW]
port[RW]
read_pass[RW]
write_pass[RW]
Public Class Methods
new(ip, port, read_pass, write_pass)
click to toggle source
Creates a SNMP Manager
# File lib/denkovi_daenetip2.rb, line 14 def initialize(ip, port, read_pass, write_pass) self.ip = ip self.port = port self.read_pass = read_pass self.write_pass = write_pass puts 'to create manager' begin @manager = SNMP::Manager.new(:host => self.ip, :port => self.port.to_i, :community => self.read_pass, :write_community => self.write_pass, :version => :SNMPv1) puts "manager created" true rescue false end end
Public Instance Methods
close()
click to toggle source
To close manager
# File lib/denkovi_daenetip2.rb, line 84 def close begin @manager.close true rescue Exception => e puts "Exception: " + e.message false end end
read(input)
click to toggle source
To read relay state @param relay [Integer] The relay number: 1-8 @return [Integer] success or not
# File lib/denkovi_daenetip2.rb, line 32 def read(input) begin puts "to read value: " + input.to_s response = @manager.get(DaenetIP2::READ_PORT6 + input.to_s + '.0') return response.varbind_list[0].value.to_i rescue => e puts "Exception: " + e.message nil end end
read_all()
click to toggle source
To read all input @return [Integer]
# File lib/denkovi_daenetip2.rb, line 73 def read_all begin response = @manager.get(DaenetIP2::READ_ALL) response.varbind_list[0].value.to_i rescue Exception => e puts "Exception: " + e.message nil end end
write(port, relay, value)
click to toggle source
To change relay state @param port [String] port 'p3' or 'p5' @param relay [Integer] The relay number: 0-15 @param value [Integer] Relay new state: 0-1 @return [Boolean] success or not
# File lib/denkovi_daenetip2.rb, line 48 def write(port, relay, value) begin puts "relay: " + relay.to_s + " value: " + value.to_s if port == 'p3' varbind = SNMP::VarBind.new(DaenetIP2::WRITE_PORT_P3 + relay.to_s + ".0", SNMP::Integer.new(value.to_i)) end if port == 'p5' varbind = SNMP::VarBind.new(DaenetIP2::WRITE_PORT_P5 + relay.to_s + ".0", SNMP::Integer.new(value.to_i)) end begin puts "to set to relay " + relay.to_s + " value " + value.to_s @manager.set(varbind) true rescue false end rescue => e puts "Exception in write: " + e.message false end end