Browse Source

更新接口设计

liyuezong 2 years ago
parent
commit
5efc7d16cc
1 changed files with 45 additions and 16 deletions
  1. 45 16
      Liyuezong/SNMP协议设计/浪潮python API/pdusnmp_24.py

+ 45 - 16
Liyuezong/SNMP协议设计/浪潮python API/pdusnmp_24.py

@@ -28,9 +28,12 @@ def get_value(devip:str, soid:str) -> str:
                ObjectType(ObjectIdentity(soid))  # 创建MIB节点对象 #要跟参数 否则会报错
                )
     errorIndication, errorStatus, errorIndex, varBinds = next(g)  # 发送Get请求,获取sysName
+
     for i in varBinds:
         print(i.prettyPrint())
-        return i
+        value = i.prettyPrint().split("=")[1]
+        print(value)
+        return value
 
 
 def set_value(devip:str, soid:str, varvalue:str) -> bool:
@@ -41,7 +44,7 @@ def set_value(devip:str, soid:str, varvalue:str) -> bool:
                CommunityData('public'),
                UdpTransportTarget((devip, 161)),
                ContextData(),
-               ObjectType(ObjectIdentity(soid), varvalue)
+               ObjectType(ObjectIdentity(soid), Integer32(varvalue))
                )
     )
     # 检查错误
@@ -80,7 +83,7 @@ def TurnOnOff(sDevIp:str, nSock:int, onoff:bool) -> bool:
     if validate_Sock(nSock) == False:
         print('invalid sock!')
         return False
-    sOId = '1.3.6.1.4.1.2024.1.3.9.1.3.%d.0' % (nSock)
+    sOId = '1.3.6.1.4.1.2024.1.3.9.1.3.%d' % (nSock)
     if onoff == True:
         state = '1'
     else:
@@ -97,7 +100,7 @@ def TurnOnOffGroup(sDevIp:str, nGroup:int, onoff:bool) -> bool:
     if validate_Group(nGroup) == False:
         print('invalid Group!')
         return False
-    sOId = '1.3.6.1.4.1.2024.1.3.10.1.4.%d.0' % (nGroup)
+    sOId = '1.3.6.1.4.1.2024.1.3.10.1.4.%d' % (nGroup)
     if onoff == True:
         state = '1'
     else:
@@ -114,7 +117,7 @@ def GetStatusGroup(sDevIp:str, nGroup:int) -> int:
     if validate_Group(nGroup) == False:
         print('invalid Group!')
         return 0
-    sOId = '1.3.6.1.4.1.2024.1.3.10.1.4.%d.0' % (nGroup)
+    sOId = '1.3.6.1.4.1.2024.1.3.10.1.4.%d' % (nGroup)
     value = get_value(sDevIp, sOId)
     if value is None:
         return 0
@@ -124,14 +127,14 @@ def GetStatusGroup(sDevIp:str, nGroup:int) -> int:
 
 
 #获取插口状态 0-关闭 1-开
-def GetStatus(sDevIp:str, nSock:bool) -> int:
+def GetStatus(sDevIp:str, nSock:int) -> int:
     if validate_ip(sDevIp) == False:
         print('invalid ip address!')
         return 0
-    if validate_Sock(nsock) == False:
+    if validate_Sock(nSock) == False:
         print('invalid sock!')
         return 0
-    sOId = '1.3.6.1.4.1.2024.1.3.9.1.3.%d.0' % (nSock)
+    sOId = '1.3.6.1.4.1.2024.1.3.9.1.3.%d' % (nSock)
     value = get_value(sDevIp, sOId)
     if value is None:
         return 0
@@ -144,10 +147,10 @@ def GetCurrent(sDevIp:str, nSock:int) -> float:
     if validate_ip(sDevIp) == False:
         print('invalid ip address!')
         return 0
-    if validate_Sock(nsock) == False:
+    if validate_Sock(nSock) == False:
         print('invalid sock!')
         return 0
-    sOId = '1.3.6.1.4.1.2024.1.3.9.1.5.%d.0' % (nSock)
+    sOId = '1.3.6.1.4.1.2024.1.3.9.1.5.%d' % (nSock)
     value = get_value(sDevIp, sOId)
     if value is None:
         return 0
@@ -160,10 +163,10 @@ def GetEnergy(sDevIp:str, nSock:int) -> float:
     if validate_ip(sDevIp) == False:
         print('invalid ip address!')
         return 0
-    if validate_Sock(nsock) == False:
+    if validate_Sock(nSock) == False:
         print('invalid sock!')
         return 0
-    sOId = '1.3.6.1.4.1.2024.1.3.9.1.7.%d.0' % (nsock)
+    sOId = '1.3.6.1.4.1.2024.1.3.9.1.7.%d' % (nSock)
     value = get_value(sDevIp, sOId)
     if value is None:
         return 0
@@ -175,8 +178,11 @@ def GetEnergy(sDevIp:str, nSock:int) -> float:
 def GetSockName(sDevIp:str, nSock:int) -> str:
     if validate_ip(sDevIp) == False:
         print('invalid ip address!')
-        return ''
-    sOId = '1.3.6.1.4.1.2024.1.3.9.1.2.0'
+        return 0
+    if validate_Sock(nSock) == False:
+        print('invalid sock!')
+        return 0
+    sOId = '1.3.6.1.4.1.2024.1.3.9.1.2.%d' % (nSock)
     value = get_value(sDevIp, sOId)
     if value is None:
         print('invalid value!')
@@ -185,5 +191,28 @@ def GetSockName(sDevIp:str, nSock:int) -> str:
     return rt_value
 
 #Test
-#get_value('127.0.0.1', '.1.3.6.1.2.1.1.3.0')
-#set_value('127.0.0.1', '.1.3.6.1.2.1.1.4.0', 'lyz')
+#获取设备名称
+#GetDeviceName('192.168.1.132')
+
+#打开通道1
+#TurnOnOff('192.168.1.132',1,True)
+
+#获取通道1状态
+#GetStatus('192.168.1.132',1)
+
+#获取通道1电流
+#GetCurrent('192.168.1.132',1)
+
+#获取通道1耗电量
+#GetEnergy('192.168.1.132',1)
+
+#获取通道1名称
+#GetSockName('192.168.1.132',1)
+
+#打开分组2的所有通道
+#TurnOnOffGroup('192.168.1.132',2,True)
+
+#获取分组2的通道状态
+#GetStatusGroup('192.168.1.132',2)
+
+