Where do I even start. First of all, I apologize, but this will be a LONG post. It’s part venting & then asking for help in resolving issues.
Begin Venting
After about a day of frustration and surfing resolutions on forums I managed to get Hass.io installed on an old laptop running Linux Mint 18.3 (Yes, yes, I know!). It was the only available device I could run the software on for testing until my rPi3 arrives, plus I was thinking to myself
“If I install it on this I’ll at least have some time to mess around with the environment and get used to things. Ohh, maybe I can even set up the devices I already have before I put my big order in on amazon.”
Needless to say I was pretty excited because like many of you I love programming and getting my hands dirty. Only problem is I hate linux and don’t really know my way around it well enough. But, despite that I still decided to give it a go. Again, I thought to myself
“If I can manage to get HA installed on this machine I should have no problem with the Pi since this is considered an advanced installation method”
I can’t stress how advanced the method would ultimately be. The issues that follow are in the order that they presented themselves.
The Goal: Install Hassio inside docker on the laptop using these commands as a general guide.
- Linux Mint 18.3 OS natively supports Python2 & Python3, but the Python3 version it “officially” supports and was built around is 3.5.3 and guess what the version minimum for HA is? 3.5.4
- Luckily, a user on the discord server pointed me to this page on the linux mint site telling me how to install Python3.6 alongside the native Python3. So, first obstacle conquered.
- This next issue was more so a nuisance, rather than an actual problem.
- Turns out Linux Mint has it’s own version of docker it uses & the one in the guide wasn’t compatible. But, that was resolved by simply installing mint’s native docker using
pip3 install docker.io
. Boom, obstacle 2 conquered.
- Turns out Linux Mint has it’s own version of docker it uses & the one in the guide wasn’t compatible. But, that was resolved by simply installing mint’s native docker using
- I finally had access to the interface & opened it up to access it remotely from work to fiddle during the day. I got my wifi switches integrated with not too much trouble.
- Two are Tuya, so I ended up having a little trouble with them, but once I ditched the “official” component and used a custom one that allows completely local control over the switches they were good to go.
Here’s where I start running into the problems I have yet to solve
This is where I need your help!
-
I tried adding a weather-related component and have yet to be successful. I’ve tried
Made sure to specify them correctly in the configuration.yaml file with their respective api_key each time. Mind you, I was just looking to install a weather service. However, none of them worked. No weather info showed on my dashboard/main ui screen. Example text in the configuration.yaml file:
configuration.yaml example
weather: - platform: darksky api_key: REDACTED
The above would lead to errors like the following:
error log
2018-10-04 15:59:02 ERROR (SyncWorker_2) [homeassistant.components.weather.darksky] Unable to connect to Dark Sky. HTTPSConnectionPool(host='api.darksky.net', port=443): Max retries exceeded with url: /forecast/REDACTED/40.12424,-74.97188?units=us&lang=en (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0xb45baaec>: Failed to establish a new connection: [Errno -3] Try again',)) 2018-10-04 15:59:02 ERROR (MainThread) [homeassistant.components.weather] darksky: Error on device update! Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 251, in _async_add_entity await entity.async_device_update(warning=False) File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 352, in async_device_update yield from self.hass.async_add_job(self.update) File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.6/site-packages/homeassistant/components/weather/darksky.py", line 147, in update self._ds_currently = self._dark_sky.currently.d AttributeError: 'NoneType' object has no attribute 'd' 2018-10-04 15:59:12 WARNING (SyncWorker_2) [netdisco.ssdp] Found malformed XML at http://192.168.0.10:9080: status=ok
-
I tried adding my netgear router (model C3000-100NAS) using the device_tracker.netgear component using the following variations in the configuration.yaml:
configuration.yaml variations
device_tracker: - platform: netgear host: 192.168.0.1 port: 80 username: admin password: REDACTED device_tracker: - platform: netgear host: 192.168.0.1 username: admin password: REDACTED device_tracker: - platform: netgear host: 192.168.0.1 password: REDACTED device_tracker: - platform: netgear password: REDACTED
None of which worked. I kept receiving the following errors in the log:
error log
2018-10-04 08:04:46 ERROR (MainThread) [homeassistant.components.device_tracker] Unable to load /config/known_devices.yaml: Config file not found: /config/known_devices.yaml 2018-10-04 08:04:47 ERROR (SyncWorker_3) [pynetgear] Error talking to API 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 384, in _make_request six.raise_from(e, None) File "<string>", line 2, in raise_from File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 380, in _make_request httplib_response = conn.getresponse() File "/usr/local/lib/python3.6/http/client.py", line 1331, in getresponse response.begin() File "/usr/local/lib/python3.6/http/client.py", line 297, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.6/http/client.py", line 258, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/local/lib/python3.6/socket.py", line 586, in readinto return self._sock.recv_into(b) ConnectionResetError: [Errno 104] Connection reset by peer 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 445, 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 367, in increment raise six.reraise(type(error), error, _stacktrace) File "/usr/local/lib/python3.6/site-packages/urllib3/packages/six.py", line 685, in reraise raise value.with_traceback(tb) 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 384, in _make_request six.raise_from(e, None) File "<string>", line 2, in raise_from File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 380, in _make_request httplib_response = conn.getresponse() File "/usr/local/lib/python3.6/http/client.py", line 1331, in getresponse response.begin() File "/usr/local/lib/python3.6/http/client.py", line 297, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.6/http/client.py", line 258, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/local/lib/python3.6/socket.py", line 586, in readinto return self._sock.recv_into(b) urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/pynetgear/__init__.py", line 247, in _make_request data=message, timeout=30, verify=False) File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 112, in post return request('post', url, data=data, json=json, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 58, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 512, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 622, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 495, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')) 2018-10-04 08:04:47 ERROR (SyncWorker_3) [homeassistant.components.device_tracker.netgear] Failed to Login 2018-10-04 08:04:47 ERROR (MainThread) [homeassistant.components.device_tracker] Error setting up platform netgear 018-10-04 12:15:55 WARNING (SyncWorker_0) [netdisco.ssdp] Found malformed XML at http://192.168.0.10:9080: status=ok
-
I even tried to add something as easy as a traffic cam using the camera.generic component to no avail. Example text in the configuration.yaml file:
configuration.yaml example
camera: - platform: generic still_image_url: http://www.dot35.state.pa.us/public/Districts/District6/WebCams/CAM06260CM124.jpg name: US 1 NB At Hulmeville Rd
Which didn’t work, throwing tons of the same error in the log:
error log
2018-10-04 14:17:41 ERROR (MainThread) [homeassistant.components.camera.generic] Error getting new camera image: Cannot connect to host www.dot35.state.pa.us:80 ssl:None [Try again]
My thoughts
I’m thinking there’s some issue with my setup that’s preventing any HTTPS requests, but that wouldn’t really explain the Netgear issues since I’ve been able to log into my router insecurely (HTTP). I tried configuring the duckdns add-on to add ssl certs, etc. Afterwards, I was able to login to HA using the HTTPS endpoint, But then I just got bombarded with Handshake errors in the log and the previous issues were still present. So, I ditched the idea of DuckDNS for now since that doesn’t seem to be the issue. I also created an issue in the pynetgear repo with as much info as I could provide that I thought would help.
So, here I am. Exhausted, discouraged & about to give up the whole idea of using Home Assistant. Can some please help me?