denkovi_daenetip2 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/denkovi_daenetip2.rb +39 -47
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6c3ad1dfa025473da9d9967454b82acda9ac570
|
4
|
+
data.tar.gz: 13d44021c2a621290d8a0082d949825b2434ce19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f209f07b54ff96d85a636c89e886b41934fdf49f9aa99c6d1d5f7047ae719de4190d800a44a39f9d78d8c70ebb8211dabdccbdf849865d90a4549b48f3d6e5c
|
7
|
+
data.tar.gz: 4c9016e3eb9bdc1bb645f957d7a25274d9a1540b3ee4d0fb26ff344e379fcbeb8ce79956653a7adcdc9036ae359c86c655ea5eebafca0e013afa5604250513b1
|
data/lib/denkovi_daenetip2.rb
CHANGED
@@ -5,6 +5,11 @@ require 'snmp'
|
|
5
5
|
class DaenetIP2
|
6
6
|
attr_accessor :ip, :port, :read_pass, :write_pass
|
7
7
|
|
8
|
+
::WRITE_PORT_P3 = '1.3.6.1.4.1.19865.1.2.1.'
|
9
|
+
::WRITE_PORT_P5 = '1.3.6.1.4.1.19865.1.2.2.'
|
10
|
+
::READ_PORT6 = '1.3.6.1.4.1.19865.1.2.3.'
|
11
|
+
::READ_ALL = '1.3.6.1.4.1.19865.1.2.3.33.0'
|
12
|
+
|
8
13
|
#Creates a SNMP Manager
|
9
14
|
def initialize(ip, port, read_pass, write_pass)
|
10
15
|
self.ip = ip
|
@@ -15,73 +20,51 @@ class DaenetIP2
|
|
15
20
|
begin
|
16
21
|
@manager = SNMP::Manager.new(:host => self.ip, :port => self.port.to_i, :community => self.read_pass, :write_community => self.write_pass, :version => :SNMPv1)
|
17
22
|
puts "manager created"
|
18
|
-
|
23
|
+
true
|
19
24
|
rescue
|
20
|
-
|
25
|
+
false
|
21
26
|
end
|
22
27
|
end
|
23
28
|
|
24
29
|
# To read relay state
|
25
|
-
# @param relay [Integer] The relay number:
|
30
|
+
# @param relay [Integer] The relay number: 1-8
|
26
31
|
# @return [Integer] success or not
|
27
32
|
def read(input)
|
28
33
|
begin
|
29
|
-
#manager= Manager.new(:host => self.ip, :community => self.snmp_pass, :write_community => self.snmp_pass, :version => :SNMPv1)
|
30
34
|
puts "to read value: " + input.to_s
|
31
|
-
response = @manager.get(
|
32
|
-
#manager.close
|
35
|
+
response = @manager.get(DaenetIP2::READ_PORT6 + input.to_s + '.0')
|
33
36
|
return response.varbind_list[0].value.to_i
|
34
37
|
rescue => e
|
35
38
|
puts "Exception: " + e.message
|
36
|
-
|
39
|
+
nil
|
37
40
|
end
|
38
41
|
end
|
39
42
|
|
40
43
|
# To change relay state
|
44
|
+
# @param port [String] port 'p3' or 'p5'
|
41
45
|
# @param relay [Integer] The relay number: 0-15
|
42
46
|
# @param value [Integer] Relay new state: 0-1
|
43
47
|
# @return [Boolean] success or not
|
44
|
-
def write(relay, value)
|
48
|
+
def write(port, relay, value)
|
45
49
|
begin
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
puts "response: " + response.inspect.to_s
|
50
|
-
else
|
51
|
-
value = relay.to_i - 8
|
52
|
-
puts "value: " + value.to_s
|
53
|
-
response = @manager.get("1.3.6.1.4.1.19865.1.2.1." + value.to_s + ".0") #puerto 3
|
54
|
-
end
|
55
|
-
|
56
|
-
response.each_varbind do |vb|
|
57
|
-
puts "#{vb.name.to_s} #{vb.value.to_s} #{vb.value.asn1_type}"
|
58
|
-
end
|
59
|
-
|
60
|
-
if relay.to_i <= 8
|
61
|
-
if value == 1
|
62
|
-
puts "to create varbind"
|
63
|
-
varbind = SNMP::VarBind.new("1.3.6.1.4.1.19865.1.2.2." + relay.to_s + ".0", SNMP::Integer.new(1))
|
64
|
-
else
|
65
|
-
varbind = SNMP::VarBind.new("1.3.6.1.4.1.19865.1.2.2." + relay.to_s + ".0", SNMP::Integer.new(0))
|
50
|
+
puts "relay: " + relay.to_s + " value: " + value.to_s
|
51
|
+
if port == 'p3'
|
52
|
+
varbind = SNMP::VarBind.new(DaenetIP2::WRITE_PORT_P3 + relay.to_s + ".0", SNMP::Integer.new(value.to_i))
|
66
53
|
end
|
67
|
-
|
68
|
-
|
69
|
-
varbind = SNMP::VarBind.new("1.3.6.1.4.1.19865.1.2.1." + value.to_s + ".0", SNMP::Integer.new(1))
|
70
|
-
else
|
71
|
-
varbind = SNMP::VarBind.new("1.3.6.1.4.1.19865.1.2.1." + value.to_s + ".0",SNMP::Integer.new(0))
|
54
|
+
if port == 'p5'
|
55
|
+
varbind = SNMP::VarBind.new(DaenetIP2::WRITE_PORT_P5 + relay.to_s + ".0", SNMP::Integer.new(value.to_i))
|
72
56
|
end
|
73
|
-
end
|
74
57
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
58
|
+
begin
|
59
|
+
puts "to set to relay " + relay.to_s + " value " + value.to_s
|
60
|
+
@manager.set(varbind)
|
61
|
+
true
|
62
|
+
rescue
|
63
|
+
false
|
64
|
+
end
|
82
65
|
rescue => e
|
83
66
|
puts "Exception in write: " + e.message
|
84
|
-
|
67
|
+
false
|
85
68
|
end
|
86
69
|
end
|
87
70
|
|
@@ -89,13 +72,22 @@ class DaenetIP2
|
|
89
72
|
#@return [Integer]
|
90
73
|
def read_all
|
91
74
|
begin
|
92
|
-
|
93
|
-
response
|
94
|
-
|
95
|
-
|
75
|
+
response = @manager.get(DaenetIP2::READ_ALL)
|
76
|
+
response.varbind_list[0].value.to_i
|
77
|
+
rescue Exception => e
|
78
|
+
puts "Exception: " + e.message
|
79
|
+
nil
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
#To close manager
|
84
|
+
def close
|
85
|
+
begin
|
86
|
+
@manager.close
|
87
|
+
true
|
96
88
|
rescue Exception => e
|
97
89
|
puts "Exception: " + e.message
|
98
|
-
|
90
|
+
false
|
99
91
|
end
|
100
92
|
end
|
101
93
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: denkovi_daenetip2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pablo Carrillos
|
@@ -31,7 +31,7 @@ extensions: []
|
|
31
31
|
extra_rdoc_files: []
|
32
32
|
files:
|
33
33
|
- lib/denkovi_daenetip2.rb
|
34
|
-
homepage:
|
34
|
+
homepage: https://github.com/webpau/denkovi_daenetip2
|
35
35
|
licenses:
|
36
36
|
- MIT
|
37
37
|
metadata: {}
|