home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.72k stars 30.84k forks source link

Issue with asuswrt device tracker and pexpect #7713

Closed aronsky closed 7 years ago

aronsky commented 7 years ago

Make sure you are running the latest version of Home Assistant before reporting an issue.

You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:

Home Assistant release (hass --version): 0.44.1 (for some reason, it's the latest available from pip, not 0.44.2)

Python release (python3 --version): 3.4.2

Component/platform: device_tracker/asuswrt

Description of problem: Since the latest update of the Asus WRT firmware (I'm no AsusWRT-Merlin), version 380.66, Home Assistant fails to connect to the router, with the following error in the log:

ERROR (Thread-4) [homeassistant.components.device_tracker.asuswrt] Unable to connect via SSH: could not set shell prompt (received: b"unset PROMPT_COMMAND\r\nPS1='[PEXPECT]\\$ '\r\nset prompt='[PEXPECT]\\$ '\r\n", expected: '\\[PEXPECT\\][\\$\\#] ')

Expected: Successful connection to the router.

Additional info:

Regular connections via SSH work fine. Connections via a pxssh/Python shell from Home Assistant's virtual environment work fine, as well (though I used a password for authentication, while Home Assistant uses a key, but the key is valid and works for an SSH connection from the command line

bieniu commented 7 years ago

The latest versions of Asus router software block access via SSH after five successful login attempts in few minutes May 14 10:24:35 syslog: Detect [192.168.1.20] abnormal logins many times, system will block this IP 5 minutes And this cause your error in HA.

Look here https://community.home-assistant.io/t/alternate-device-tracker-component-for-asuswrt/979/12

aronsky commented 7 years ago

I had a feeling it might be something like that.

Thanks! Seeing that the solution is to increase the interval, should we update the component's default interval to one that works with current Asus firmware?

bieniu commented 7 years ago

I think, yes. But on the other hand, maybe a permanent connection to the router would be better.