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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/denkovi_daenetip2.rb +39 -47
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8d7d6c9d2e535d25e40ee74227c96876ffe80eca
4
- data.tar.gz: a83fe76d3b9ef6d61c4c6bcc809f93c8b9cf7243
3
+ metadata.gz: e6c3ad1dfa025473da9d9967454b82acda9ac570
4
+ data.tar.gz: 13d44021c2a621290d8a0082d949825b2434ce19
5
5
  SHA512:
6
- metadata.gz: 1ab9f033fd63de560d99a70f5959d58da395a12dbf511392f7ef7714b7f46650c99e11d6a222d04bf595fe5e3f23a1167206bf020b35bf4272b2b7443aa87456
7
- data.tar.gz: 0761c065cf69ac3ac126b167599cfeb1f91a4ff84f8bfb79000219a22deef153837716f99b9f4546c2a8b9b20b0c550d2373abfa56bf3335b5cc7349e8b6b83b
6
+ metadata.gz: 3f209f07b54ff96d85a636c89e886b41934fdf49f9aa99c6d1d5f7047ae719de4190d800a44a39f9d78d8c70ebb8211dabdccbdf849865d90a4549b48f3d6e5c
7
+ data.tar.gz: 4c9016e3eb9bdc1bb645f957d7a25274d9a1540b3ee4d0fb26ff344e379fcbeb8ce79956653a7adcdc9036ae359c86c655ea5eebafca0e013afa5604250513b1
@@ -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
- return true
23
+ true
19
24
  rescue
20
- return false
25
+ false
21
26
  end
22
27
  end
23
28
 
24
29
  # To read relay state
25
- # @param relay [Integer] The relay number: 0-15
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('1.3.6.1.4.1.19865.1.2.3.' + input.to_s + '.0')
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
- return nil
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
- puts "relay: " + relay.to_s + " value: " + value.to_s
47
- if relay <= 8
48
- response = @manager.get("1.3.6.1.4.1.19865.1.2.2." + relay.to_s + ".0") #puerto 5
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
- else
68
- if value == 1
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
- begin
76
- puts "to set to relay " + relay.to_s + " value " + value.to_s
77
- @manager.set(varbind)
78
- return true
79
- rescue
80
- return false
81
- end
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
- return false
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
- #manager= Manager.new(:host => self.ip, :community => self.snmp_pass, :write_community => self.snmp_pass, :version => :SNMPv1)
93
- response = @manager.get('1.3.6.1.4.1.19865.1.2.3.33.0')
94
- #manager.close
95
- return response.varbind_list[0].value.to_i
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
- return nil
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.1
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: {}