ASUSWRT


The asuswrt integration is the main integration to connect to a ASUSWRT based router.

There is currently support for the following device types within Home Assistant:

  • Presence Detection - The ASUSWRT platform offers presence detection by looking at connected devices to a ASUSWRT based router.
  • Sensor - The ASUSWRT sensor platform allows you to get upload and download data from your ASUSWRT within Home Assistant.

Configuration

To use an ASUSWRT router in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
asuswrt:
  host: YOUR_ROUTER_IP
  username: YOUR_ADMIN_USERNAME

Configuration Variables

host

(string)(Required)

The IP address of your router, e.g., 192.168.1.1.

username

(string)(Required)

The username of a user with administrative privileges, usually admin.

password

(string)(Optional)

The password for your given admin account (use this if no SSH key is given).

protocol

(string)(Optional)

The protocol (ssh or telnet) to use.

Default value:

ssh

port

(integer)(Optional)

SSH port to use.

Default value:

22

mode

(string)(Optional)

The operating mode of the router (router or ap).

Default value:

router

ssh_key

(string)(Optional)

The path to your SSH private key file associated with your given admin account (instead of password).

require_ip

(boolean)(Optional)

If the router is in access point mode.

Default value:

true

interface

(string)(Optional)

The interface of the router that you want statistics from (e.g. eth0,eth1 etc)

Default value:

eth0

dnsmasq

(string)(Optional)

The location of the dnsmasq.leases files

Default value:

/var/lib/misc

sensors

(list)(Optional)

List of enabled sensors

devices

Connected devices sensor

upload

TX upload sensor

download

RX download sensor

download_speed

download mbit/s sensor

upload_speed

upload mbit/s sensor

You need to enable telnet on your router if you choose to use protocol: telnet.

Example Sensor Configuration

To enable ASUSWRT sensors as part of your installation, reference the following example configuration:

# Example configuration.yaml entry
asuswrt:
  host: YOUR_ROUTER_IP
  username: YOUR_ADMIN_USERNAME
  ssh_key: /config/id_rsa
  sensors:
    - devices
    - upload
    - download
    - upload_speed
    - download_speed

The example above, creates the following sensors:

  • sensor.asuswrt_devices_connected
  • sensor.asuswrt_download (unit_of_measurement: Gigabyte - Daily accumulation)
  • sensor.asuswrt_download_speed (unit_of_measurement: Mbit/s)
  • sensor.asuswrt_upload (unit_of_measurement: Gigabyte - Daily accumulation)
  • sensor.asuswrt_upload_speed (unit_of_measurement: Mbit/s)

Padavan custom firmware (The rt-n56u project)

The rt-n56u project does not store dnsmasq.leases which is used to track devices at /var/lib/misc/ as asuswrt do. However this integration can still be used for the rt-n56u project by changing the dnsmasq location using the dnsmasq variable to dnsmasq: '/tmp' Also, to get the statistics for the WAN port, specify interface: 'eth3' as this is the interface used in the rt-n56u project