I ran into a weird error resulting to some of my stuff not being recognised anymore.
Running latest stable Hass.io on docker (raspberry pi4)
My logs show the following error:
2019-12-09 18:33:17 ERROR (MainThread) [homeassistant.setup] Error during setup of component zeroconf
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 176, in _async_setup_component
component.setup, hass, processed_config # type: ignore
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/zeroconf/__init__.py", line 40, in setup
zeroconf = Zeroconf()
File "/usr/local/lib/python3.7/site-packages/zeroconf.py", line 1817, in __init__
self._listen_socket.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, _value)
OSError: [Errno 105] No buffer space available
I only added a few docker containers and added the transmission integration through the integrations page… any idea why this is happening?
fixed this by increasing buffer size/multicast connection in /etc/sysctl.conf:
# Bigger buffers (to make 40Gb more practical). These are maximums, but the default is unaffected.
net.core.wmem_max=268435456
net.core.rmem_max=268435456
net.core.netdev_max_backlog=10000
# Avoids problems with multicast traffic arriving on non-default interfaces
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
# Force IGMP v2 (required by CBF switch)
net.ipv4.conf.all.force_igmp_version=2
net.ipv4.conf.default.force_igmp_version=2
# Increase the ARP cache table
net.ipv4.neigh.default.gc_thresh3=4096
net.ipv4.neigh.default.gc_thresh2=2048
net.ipv4.neigh.default.gc_thresh1=1024
# Increase number of multicast groups permitted
net.ipv4.igmp_max_memberships=1024
For some reason it stopped working again for me and I got the zeroconf error again. I tried docker network prune as suggested in the other thread again which resolved the zeroconf error for me, but now hassio/homeassistant cannot find ANY chromecast enabled devices anymore… I’m a little bit lost here.
Hi, the above worked for me and maybe others know this already but the file needs to be rebooted sudo sysctl -p or the system rebooted after the changes are made.
As a note, this error may actually be hidden behind a discovery “network is unavailable” error. My docker configuration suddenly starting spewing that error. I created an issue to document it in case anyone else sees it.
Post#4 fixed it for me as well. Ran sudo sysctl -p afterwards and restarted the espohome docker container. Bye bye error and hello dashboard status and available upgrades.
The sysctl values didn’t do it for me, but adding
zeroconf:
default_interface: true
to configuration.yaml and restarting the container got rid of the error. From the zeroconf integration page it was my understanding this makes it use only main ip instead trying to bind to 0.0.0.0 which causes the issue under docker.
Since then I restarted the RPi twice for unrelated reasons and the zeroconf error hasn’t showed up.