2020-05-10 20:38:47 +02:00

3.9 KiB

title, description, ha_category, ha_release, ha_iot_class, ha_codeowners, ha_domain
title description ha_category ha_release ha_iot_class ha_codeowners ha_domain
ASUSWRT Instructions on how to integrate ASUSWRT into Home Assistant.
Hub
Presence Detection
Sensor
0.83 Local Polling
@kennedyshead
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 %} host: description: "The IP address of your router, e.g., 192.168.1.1." required: true type: string username: description: "The username of a user with administrative privileges, usually admin." required: true type: string password: description: "The password for your given admin account (use this if no SSH key is given)." required: false type: string protocol: description: "The protocol (ssh or telnet) to use." required: false type: string default: ssh port: description: SSH port to use. required: false type: integer default: 22 mode: description: "The operating mode of the router (router or ap)." required: false type: string default: router ssh_key: description: The path to your SSH private key file associated with your given admin account (instead of password). required: false type: string require_ip: description: If the router is in access point mode. required: false type: boolean default: true interface: description: "The interface of the router that you want statistics from (e.g. eth0,eth1 etc)" required: false type: string default: eth0 dnsmasq: description: "The location of the dnsmasq.leases files" required: false type: string default: /var/lib/misc sensors: description: List of enabled sensors required: false type: list keys: "devices": description: Connected devices sensor "upload": description: TX upload sensor "download": description: RX download sensor "download_speed": description: download mbit/s sensor "upload_speed": description: upload mbit/s sensor {% endconfiguration %}

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