PoE-Ports mit pySNMP auf dem Netgear GS710TUP aktivieren/deaktivieren

English Deutsch

In unserem vorherigen Beitrag pySNMP verwenden um SNMPv3-Informationen vom Netgear GS710TUP abzufragen haben wir gezeigt, wie pySNMP mit dem Netgear GS710TUP verbunden wird, um einfache Informationen abzufragen.

Das folgende Beispielskript ist das pySNMP-Äquivalent zu PoE-Port-Strom mit SNMPv3 auf dem Netgear GS710TUP aktivieren/deaktivieren: Es setzt die relevante OID in 1.3.6.1.2.1.105.1.1.1.3 (pethPsePortAdminEnable).

Die folgenden OIDs für einzelne Ports sind für den GS710TUP mit 8 PoE-Ports verfügbar:

poe_oids.txt
1.3.6.1.2.1.105.1.1.1.3.1.1 # Port 1
1.3.6.1.2.1.105.1.1.1.3.1.2 # Port 2
1.3.6.1.2.1.105.1.1.1.3.1.3 # Port 3
1.3.6.1.2.1.105.1.1.1.3.1.4 # Port 4
1.3.6.1.2.1.105.1.1.1.3.1.5 # Port 5
1.3.6.1.2.1.105.1.1.1.3.1.6 # Port 6
1.3.6.1.2.1.105.1.1.1.3.1.7 # Port 7
1.3.6.1.2.1.105.1.1.1.3.1.8 # Port 8

In unserem Beispiel aktivieren wir den Strom auf Port 1:

pysnmp_set_port.py
import pysnmp.hlapi as snmp

portNumber = 1

iterator = snmp.setCmd(
    snmp.SnmpEngine(),
    snmp.UsmUserData('admin', 'SWITCH_ADMIN_PASSWORD',
                     authProtocol=snmp.usmHMACSHAAuthProtocol,
                     privProtocol=snmp.usmNoPrivProtocol),
    snmp.UdpTransportTarget(('SWITCH_IP_ADDRESS', 161)),
    snmp.ContextData(),
    snmp.ObjectType(
        snmp.ObjectIdentity(f'1.3.6.1.2.1.105.1.1.1.3.1.{portNumber}'),
        snmp.Integer(1))
)

errorIndication, errorStatus, errorIndex, varBinds = next(iterator)

if errorIndication:
    print(errorIndication)
elif errorStatus:
    idx = int(errorIndex) - 1
    location = errorIndex and varBinds[idx][0] or '?'
    print(f"{errorStatus.prettyPrint()} at {location}")
else: # Success
    for varBind in varBinds:
        print(' = '.join([x.prettyPrint() for x in varBind]))

Um Strom auf Port 1 zu deaktivieren, ersetzen

snmp_integer_enable.py
snmp.Integer(1)

durch

snmp_integer_disable.py
snmp.Integer(2)

Beachten, dass der Wert 1 den booleschen Wert true repräsentiert (wie in PoE-Ausgang aktivieren) während 2 den booleschen Wert false repräsentiert, was den PoE-Ausgang auf dem Port deaktiviert.


Check out similar posts by category: Networking, PoE, Python, SNMP