core: [0.82.0] ASUSWRT device tracker not working (SSH issue?)

Home Assistant release with the issue:

0.82.0

Last working Home Assistant release (if known):

0.81.6

Operating environment (Hass.io/Docker/Windows/etc.):

Docker

Component/platform:

Asuswrt device tracker

Description of problem:

Device tracker no longer works and is constantly trying to open a new SSH connection. There appear to be four references to changes to asuswrt in the RC docs for 0.82, so not sure which one is causing the issue?

think these are the beta pr’s… https://github.com/home-assistant/home-assistant/pull/18030 https://github.com/home-assistant/home-assistant/pull/17692 https://github.com/home-assistant/home-assistant/pull/17814 https://github.com/home-assistant/home-assistant/pull/17757

Downgrading back to 0.81.6 fixes the issue

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):


- platform: asuswrt
  host: !secret asus_ip
  username: !secret asus_username
  password: !secret asus_password
  protocol: 'ssh'
  port: !secret asus_port

Traceback (if applicable):

2018-11-06 21:26:35 INFO (MainThread) [homeassistant.components.device_tracker.asuswrt] Checking Devices
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=108] Requesting new SSH session
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=108]   Command: for dev in `nvram get wl_ifnames`; do wl -i $dev assoclist; done
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=108] Received exit status 0
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=108] Received channel close
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=108] Channel closed
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=109] Requesting new SSH session
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=109]   Command: arp -n
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=109] Received exit status 127
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=109] Received channel close
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=109] Channel closed
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=110] Requesting new SSH session
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=110]   Command: ip neigh
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=110] Received exit status 127
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=110] Received channel close
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=110] Channel closed
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=111] Requesting new SSH session
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=111]   Command: cat /var/lib/misc/dnsmasq.leases
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=111] Received exit status 0
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=111] Received channel close
2018-11-06 21:26:35 INFO (MainThread) [asyncssh] [conn=0, chan=111] Channel closed

Additional information:

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 100 (40 by maintainers)

Most upvoted comments

I’m confused about why the AsusWRT issues keep being closed. I had one I made specific to 0.83b that was merged into another for 0.82, now I see this one is closed too.

I’m still having the same issue so I rolled back to 0.81.6. But I had the same 180 seconds of AsusWRT connectivity and then it stopped tracking and all went to not_home. Asus RT-N66U using telnet.

I’ve updated from 0.81.6 to 0.83.1. Router RT-N66U. HassIO. Transformed my configuration.yaml to:

asuswrt:
  host: !secret asus_ip
  username: !secret asus_username
  password: !secret asus_password
  protocol: telnet
  port: 23
#  consider_home: 180
#  new_device_defaults:
#    track_new_devices: false

and added consider_home: 180 in known_devices.yaml in every tracked device.

Errors:

  • All tracked devices have state ‘not_home’
  • 7 errors in log RuntimeError: readuntil() called while another coroutine is already waiting for incoming data
  • After that the errors are IndexError: list index out of range about 7 times each 30 seconds.

EDIT: After a restart of HA, my at home device trackers report state ‘home’ first, but after the 180 seconds they become ‘not_home’.

Im assuming that we need to wait for the next release.

The different routers, even though they are all asuswrt have different networking commands and different methods to receive the connected devices.