Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#75738 - [home-assistant] systemd unit is using DynamicUser=1 which dbus-daemon does not like. Bluetooth.
Attached to Project:
Community Packages
Opened by Dustin A (dustovich) - Monday, 29 August 2022, 23:34 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 30 August 2022, 05:44 GMT
Opened by Dustin A (dustovich) - Monday, 29 August 2022, 23:34 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 30 August 2022, 05:44 GMT
|
DetailsDescription:
When using the Bluetooth integration in Home Assistant, it communicates using dBus. According to the systemd issue attached below dbus-daemon and DynamicUser=1 do not play nicely together, this causes the Bluetooth integration to fail. Switching over to dbus-broker solves the problem as is recommended in the issue. Recommend changing this package to create a proper user/group instead of using a systemd dynamic user. Steps to reproduce: Install home-assistant with standard arch installation which uses dbus-daemon. Try to enable bluetooth integration. Watch it fail. Additional info: home-assistant 1:2022.8.7-1 https://github.com/systemd/systemd/issues/9503 Logs: ``` Logger: homeassistant.config_entries Source: config_entries.py:388 First occurred: 10:33:22 PM (1 occurrences) Last logged: 10:33:22 PM Config entry 'Bluetooth' for bluetooth integration not ready yet: DBus connection broken: [Errno 32] Broken pipe; try restarting `bluetooth` and `dbus`; Retrying in background ``` ``` Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/homeassistant/config_entries.py", line 357, in async_setup result = await component.async_setup_entry(hass, self) File "/usr/lib/python3.10/site-packages/homeassistant/components/bluetooth/__init__.py", line 261, in async_setup_entry await manager.async_start( File "/usr/lib/python3.10/site-packages/homeassistant/components/bluetooth/__init__.py", line 359, in async_start await self.scanner.start() # type: ignore[no-untyped-call] File "/usr/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py", line 128, in start manager = await get_global_bluez_manager() File "/usr/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py", line 812, in get_global_bluez_manager await instance.async_init() File "/usr/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py", line 295, in async_init await bus.connect() File "/usr/lib/python3.10/site-packages/dbus_next/aio/message_bus.py", line 177, in connect return await future File "/usr/lib/python3.10/site-packages/dbus_next/aio/message_bus.py", line 158, in on_hello raise err File "/usr/lib/python3.10/site-packages/dbus_next/aio/message_bus.py", line 365, in _message_reader if self._unmarshaller.unmarshall(): File "/usr/lib/python3.10/site-packages/dbus_next/_private/unmarshaller.py", line 304, in unmarshall self._unmarshall() File "/usr/lib/python3.10/site-packages/dbus_next/_private/unmarshaller.py", line 243, in _unmarshall self.read(16, prefetch=True) File "/usr/lib/python3.10/site-packages/dbus_next/_private/unmarshaller.py", line 89, in read data = read_sock(missing_bytes) File "/usr/lib/python3.10/site-packages/dbus_next/_private/unmarshaller.py", line 83, in read_sock return self.stream.read(length) File "/usr/lib/python3.10/socket.py", line 705, in readinto return self._sock.recv_into(b) ConnectionResetError: [Errno 104] Connection reset by peer ``` Thanks |
This task depends upon

One other thing, slightly unrelated to the above but still related to the unit. Would it be possible to change from network.wants to network-online.wants to prevent some issues with network card detection and zeroconf errors.

I would be more inclined to optdep on dbus-broker instead of going back to a regular user, as that would require some postinstall steps to relocate exinsting installations from /var/lib/private/hass to /var/lib/hass.

The other issue with the dynamic user is that you cannot 'su' into the hass user that I am aware of. This makes it a bit more difficult to install https://hacs.xyz/docs/setup/download. Not that these hurdles can't be overcome, it is just more of a pain.