ERRORs setting up openwrt/LEDE with Luci


#1

Hi all,

I am trying to set up the integration with OpenWRT but I get some errors and it doesn’t work. My enviroment is HA running in a docker on a Synology NAS and my router is a TP-link with openwrt.

I followed the instructions and install the package luci-mod-rpc as doc says. https://www.home-assistant.io/components/device_tracker.luci/

When I configured HA it throws me this:

2019-01-05 21:59:17 ERROR (MainThread) [homeassistant.components.device_tracker] Error setting up   platform luci
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 343, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 839, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 344, in connect
ssl_context=context)
File "/usr/local/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 357, in ssl_wrap_socket
return context.wrap_socket(sock)
File "/usr/local/lib/python3.6/ssl.py", line 407, in wrap_socket
_context=self, _session=session)
File "/usr/local/lib/python3.6/ssl.py", line 817, in __init__
self.do_handshake()
File "/usr/local/lib/python3.6/ssl.py", line 1077, in do_handshake
self._sslobj.do_handshake()
File "/usr/local/lib/python3.6/ssl.py", line 689, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:847)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.6/site-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='192.168.1.1', port=443): Max retries exceeded     with url: /cgi-bin/luci/rpc/auth (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:847)'),))

my configuration.yaml is, I am using both confs for device tracking:

device_tracker:

  • platform: gpslogger
  • platform: luci
    host: 192.168.1.1
    username: root
    password: XXXXXX

Hope someone has an idea, thanks in advance!


#2

I can recommend the ubus component.


#3

I can’t recommend ubus, it is clearly missing hosts on my network (but it is working to some extent.) nmap seems to work better, but when luci was working for me, it was the most accurate.

Alas, luci doesn’t work for me, even though I’ve turned off SSL (with ssl: false). This is with the latest release of OpenWRT (merging LEDE back in). It worked previously for me, so some combination of HASS and OpenWRT updates broke it. It fails silently for me (whereas I was seeing the SSL cert errors before I turned off SSL. And yes, I can curl port 80 of my router.)


#4

I’m also failing to get the Luci device tracker working with HA. Digging about in the packets appears that the Luci component is using a call to net.arptable which was dropped in OpenWRT 18.06 and needs to try ‘neighbors’ instead.

Google turns up this patch but doesn’t seem to have been submitted/made it to the main release ?


#5

That’s my patch. Am working on getting it fixed in HA soon.


#6

Thanks for letting us know - great stuff - hope it appears soon :slight_smile:


#7

Yes it has been merged so should be in 0.89 I guess.