Usage
Quick Start
from snmp_manager import SNMPManager
# Discover devices on network
async with SNMPManager() as manager:
devices = await manager.discover_devices("192.168.1.0/24")
# Collect data from all devices
for device in devices:
data = await device.collect()
print(f"Device {device.host}: {len(data)} fields collected")
Enhanced Device Usage
# Enhanced device with full intelligence features
from snmp_manager.core.enhanced_device import EnhancedDevice
async def main():
# Create enhanced device (no manual configuration needed!)
device = EnhancedDevice(host="192.168.1.10")
# Intelligent discovery (reverse engineers unknown devices!)
discovery = await device.intelligent_discover()
print(f"Discovered {discovery['total_duration_ms']:.1f}ms")
# Smart data collection with fallback strategies
data = await device.collect_with_intelligence()
print(f"Collected {len(data)} fields")
# Get device insights
insights = await device.get_intelligent_insights()
print(f"Device classification: {insights['device_info']['signature']}")
asyncio.run(main())
Supported Devices
Telecom Equipment
OLT/ONU: Huawei (MA5800, MA5600), ZTE (ZXA10), V-SOL (V1600, V2800), Fiberhome (AN5500)
Cellular: BSC, RNC, SMSC, BTS, mobile network equipment
GPON/EPON: All major OLT and ONU/ONT devices
Network Switches: Cisco, Juniper, Huawei, ZTE, Mikrotik
Routers: Enterprise and carrier-grade routers
Vendor Support
Documented: Huawei, ZTE, Cisco, Juniper, Mikrotik
Undocumented: V-SOL, C-Data, Fiberhome (via reverse engineering)
Unknown: Any SNMP device (pattern recognition + learning)