A Home Assistant custom integration for AsusWrt-Merlin routers that connects via SSH fetching download/upload statistics and connected devices creating device tracker entities.
This is separate from the official Home Assistant integration, as the official integration was causing my router to become unresponsive.
- Collects download/update statistics
- Fetches connected devices
- Creates device tracker entities that are disabled by default
- Configurable SSH authentication (password or SSH key)
- Configurable "consider home" timeout & delete inactive devices after
- Automatic device discovery based on DHCP leases and ARP table
If you dont' have HACS installed yet, I highly recommend it.
Or copy this GitHub URL and add it as a custom integration repository.
Download the latest asuswrt_merlin.zip release and extract it into your <config>/custom_component folder.
After installation you need to restart Home Assistant before using this integration.
Or
- Go to Settings > Devices & Services > Add Integration
- Search for "AsusWrt-Merlin" and add it
- Router IP address: The IP address of your AsusWrt-Merlin router
- Username: SSH username for the router
- Password or SSH Key: Authentication method
- SSH Port: Default is 22
- Consider Home: Time in seconds before a device is considered away (default: 180)
To use SSH key authentication:
- Generate an SSH key pair on your Home Assistant system
- Copy the public key to your router's authorized_keys file
- Specify the full path to the private key file in the configuration
Note: The integration uses the SSH key file path directly - it does not store the key content. Make sure the file is readable by the Home Assistant process.
- The integration connects to your AsusWrt-Merlin router via SSH
- It fetches the DHCP leases and ARP table to identify connected devices and network statistics
- Device tracker entities are created for each discovered device (disabled by default)
- Only enabled entities are updated with home/away status
- The integration polls the router every 30 seconds for updates
- Devices that haven't been seen for more than 30 days are automatically removed
Each connected device becomes a device tracker entity with:
- Entity ID:
device_tracker.{hostname} - Name: Device hostname
- State:
homeoraway - Attributes:
mac: MAC addresshostname: Device hostnameip: IP address (when available)
- Verify SSH is enabled on your router
- Check that the username and password/key are correct
- Ensure the router IP address is reachable from Home Assistant
- Check firewall settings
- Verify that devices are connected to the router
- Check that DHCP is enabled on the router
- Ensure the SSH user has permission to read network information
- Only enabled device tracker entities are updated
- Check the "consider home" setting if devices appear away too quickly
- Verify the integration is running without errors in the logs
- AsusWrt-Merlin firmware with SSH enabled
- Home Assistant 2025.9.0 or later
- Python paramiko library (automatically installed)