SNMP Switch Manager discovers an SNMP-enabled switch and exposes each port to Home Assistant with live status, descriptions, and administrative control. Pair it with the included Lovelace card for a rich dashboard visualisation of your hardware.
- Highlights
- Requirements
- Installation
- Documentation
- Services
- Troubleshooting
- Support
- Changelog
- Roadmap
- π Automatic discovery of port count, speed, VLAN ID (PVID), description, and operational status via SNMP (v2c or v3)
- π Background polling that keeps Home Assistant entities and attributes in sync with live switch data
- ποΈ One
switchentity per interface for toggling administrative state (up/down) - π·οΈ Service for updating the interface alias (
ifAlias) directly from Home Assistant - πΌοΈ Lovelace card that mirrors the physical switch layout with colour-coded port status and quick actions
- πΆ Optional per-port bandwidth monitoring (RX / TX throughput & totals) with support for attributes or dedicated sensors
- π‘οΈ Environment monitoring (CPU, memory, system/chassis temperature) with support for attributes or dedicated sensors
- β‘ Power over Ethernet (PoE) monitoring (used and remaining power budget) with support for attributes or dedicated sensors
- Home Assistant 2025.11.2 or newer (recommended)
- A switch (or SNMP-enabled network device) reachable via SNMP (UDP/161)
- SNMP credentials with read access to interface tables
- Write access is optional but required for:
- Updating
ifAlias(port description) - Toggling administrative state (if supported by the device)
- Updating
- pysnmp 7.x (the integration installs it automatically when needed)
You can install this integration directly from HACS:
After installation, restart Home Assistant and add the integration:
- In Home Assistant, open HACS β Integrations.
- Click Explore & Download Repositories, search for SNMP Switch Manager, then click Download.
- Restart Home Assistant.
- Go to Settings β Devices & Services β Add Integration β SNMP Switch Manager.
- Copy the folder
custom_components/snmp_switch_managerinto your HAconfig/custom_componentsdirectory. - Restart Home Assistant.
- Go to Settings β Devices & Services β Add Integration β SNMP Switch Manager.
Comprehensive documentation for SNMP Switch Manager is available in the GitHub Wiki.
The Wiki includes:
- Installation and configuration guidance
- Attributes vs Sensors explained
- Diagnostics and PoE behavior
- Lovelace card usage and customization
- Supported switches and limitations
- Troubleshooting and FAQ
π Read the full documentation:
https://github.com/OtisPresley/snmp-switch-manager/wiki
SNMP Switch Manager provides Home Assistant services for advanced use cases, such as interacting with or refreshing switch-related data.
These services are optional and are typically used by:
- Advanced users
- Automations
- Scripts
Most users will not need to use services directly.
π See the GitHub Wiki for full usage guidance and examples: https://github.com/OtisPresley/snmp-switch-manager/wiki
Use the snmp_switch_manager.set_port_description service to change an interface alias:
service: snmp_switch_manager.set_port_description
data:
entity_id: switch_switch_study_gi1_0_5
description: Uplink to routerThe state of each port entity reflects the interface's administrative status. Turning it on sets the port to up; turning it off sets it to down. Entity attributes include both administrative and operational status direct from SNMP. Entity attributes include administrative status, operational status, port speed, VLAN ID (PVID), and IP configuration when available.
During Home Assistant startup, you may see one or two warning messages similar to:
Detected blocking call to listdir/open inside the event loop by custom integration 'snmp_switch_manager'
These warnings originate from pysnmp, the upstream SNMP library used by this integration.
On first use, pysnmp lazily loads a small number of internal MIB files from disk, which Home Assistant flags as a potential blocking operation.
- βοΈ No functional impact
- βοΈ No data loss
- βοΈ No performance degradation during normal operation
- βοΈ Typically occurs only once at startup
The integration continues to operate asynchronously and efficiently after initialization.
Suppressing these warnings would require moving all SNMP operations into background threads, which significantly increases startup time and slows down option changes on large switches. To preserve performance and responsiveness, the integration intentionally keeps the fast async execution path.
If you see these warnings:
- They are expected
- They are safe to ignore
- No action is required
This behavior is tracked upstream in pysnmp and Home Assistant.
- Ports missing: Ensure your SNMP credentials permit reads on the interface tables (
ifDescr,ifSpeed,ifOperStatus). - Description updates fail: Confirm your SNMP credentials have write permission for
ifAlias(1.3.6.1.2.1.31.1.1.1.18). - Unexpected speeds: Some devices report zero or vendor-specific rates for unused interfaces; check the device UI to confirm raw SNMP data.
If your switch does not display correctly, then the integration may need device-specific support added for it.
Please open an issue with:
- A text file attachment containing
snmpwalkoutput against your device (SNMP v2c or SNMP v3) - Any necessary screenshots
- A description of what is incorrect and what it should look like
Tip: If you want port descriptions and administrative toggles to work, your SNMP credentials must allow writes to the required OIDs (device-dependent).
π Read the full documentation:
https://github.com/OtisPresley/snmp-switch-manager/wiki
- Open an issue on the GitHub tracker if you run into problems or have feature requests.
- Contributions and feedback are welcome!
If you find this integration useful and want to support development, you can: