Skip to content

v0.5.1

Choose a tag to compare

@OtisPresley OtisPresley released this 10 Apr 15:02
16489bf

Special thanks to @cerebrate for significant architectural improvements and performance optimizations.

Added

  • 🚀 Performance: Bulk SNMP Polling
    • Replaced slow GETNEXT walks with GETBULK for much faster data retrieval
    • Automatic fallback to GETNEXT for legacy SNMPv1 devices
  • Asynchronous Parallelization
    • All static interface columns (Speed, Type, Alias, Name) are now fetched in parallel
    • Environmental and PoE data collection now utilizes asyncio.gather for simultaneous retrieval
  • 🔒 Enhanced SNMP Security & Stability
    • Explicit detection of SNMP authentication errors with ConfigEntryAuthFailed integration
    • Home Assistant will now prompt for re-authentication instead of retrying silently on auth failure
  • ⏱️ Configurable Global Polling Interval
    • Added CONF_POLL_INTERVAL (5s to 300s) to control the main data coordinator refresh rate
  • 🛠️ Modern Home Assistant Architecture
    • Migrated to entry.runtime_data (Standard HA Pattern)
    • Properly handles transport cleanup during integration reloads via async_close()

Improved

  • 🧊 Eliminated Blocking I/O
    • Expanded MIB preloading to cover all core networking MIBs (IF, ENTITY, BRIDGE, IP, etc.)
    • Disabled filesystem-based MIB searching to prevent event-loop stalls
  • 🏎️ Startup Optimization
    • Moved vendor-specific OID detection (Cisco, Zyxel, MikroTik) to one-time initialization
    • Throttled IPv4 address polling to 5-minute intervals to reduce unnecessary network traffic
    • Removed duplicate coordinator refreshes during platform setup
  • 🧹 Code Quality
    • Consolidated port renaming logic into the central coordinator
    • Standardized IP address processing by moving ipaddress imports to module level

Fixed

  • 🚧 Cisco CBS350 Firmware Poll: Fixed a TypeError causing silent failures during firmware checks
  • 🚧 Zyxel PoE Statistics: Corrected alignment for interface-specific PoE metrics
  • 🚧 Resource Leaks: Fixed unclosed UDP transport handles on integration reload/removal
  • 🚧 Redundant Logic: Removed duplicated interface name post-processing from switch entities