mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Merge pull request #612 from balloob/dt_snmp_fix
Fix memory issue in SNMP device tracker
This commit is contained in:
commit
6da88108fe
@ -45,9 +45,12 @@ class SnmpScanner(object):
|
|||||||
This class queries any SNMP capable Acces Point for connected devices.
|
This class queries any SNMP capable Acces Point for connected devices.
|
||||||
"""
|
"""
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
self.host = config[CONF_HOST]
|
from pysnmp.entity.rfc3413.oneliner import cmdgen
|
||||||
self.community = config[CONF_COMMUNITY]
|
self.snmp = cmdgen.CommandGenerator()
|
||||||
self.baseoid = config[CONF_BASEOID]
|
|
||||||
|
self.host = cmdgen.UdpTransportTarget((config[CONF_HOST], 161))
|
||||||
|
self.community = cmdgen.CommunityData(config[CONF_COMMUNITY])
|
||||||
|
self.baseoid = cmdgen.MibVariable(config[CONF_BASEOID])
|
||||||
|
|
||||||
self.lock = threading.Lock()
|
self.lock = threading.Lock()
|
||||||
|
|
||||||
@ -91,16 +94,11 @@ class SnmpScanner(object):
|
|||||||
|
|
||||||
def get_snmp_data(self):
|
def get_snmp_data(self):
|
||||||
""" Fetch mac addresses from WAP via SNMP. """
|
""" Fetch mac addresses from WAP via SNMP. """
|
||||||
from pysnmp.entity.rfc3413.oneliner import cmdgen
|
|
||||||
|
|
||||||
devices = []
|
devices = []
|
||||||
|
|
||||||
snmp = cmdgen.CommandGenerator()
|
errindication, errstatus, errindex, restable = self.snmp.nextCmd(
|
||||||
errindication, errstatus, errindex, restable = snmp.nextCmd(
|
self.community, self.host, self.baseoid)
|
||||||
cmdgen.CommunityData(self.community),
|
|
||||||
cmdgen.UdpTransportTarget((self.host, 161)),
|
|
||||||
cmdgen.MibVariable(self.baseoid)
|
|
||||||
)
|
|
||||||
|
|
||||||
if errindication:
|
if errindication:
|
||||||
_LOGGER.error("SNMPLIB error: %s", errindication)
|
_LOGGER.error("SNMPLIB error: %s", errindication)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user