|
|
@@ -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)
|
|
|
+
|
|
|
+
|