OK, so to begin with, the overlaid icons on the map when using a Chromebook is a “feature” of running the HA app in ChromeOS. You can run most Play Store apps on a Chromebook, but not all of them behave as expected. The display is fine on Android devices. Probably not a priority unless you get lots of complaints (unlikely).
First part of your request:
- Running Chrome browser on a Linux laptop
- Home Assistant 2026.7.2
- ZHA Toolkit 1.2.1
1 Update Bindings Map card to 0.9.1
2 Restart Home Assistant and wait for all the end devices to become available
3 Open the dashboard with the Binding Map card on it. All devices are present, clearly displayed, no bindings. Message “Bindings never scanned yet”. The Bindings tab says “No bindings loaded yet”. The Devices tab shows all devices have been discovered, all marked as having 0 bindings.
- Click the Scan Bindings button. The scan (64 devices) takes 12 minutes to complete.
- The map still shows no bindings.
- Every entry in the bindings list is marked “Error. Target device no longer exists”. No mention of “partial”.
- In the Devices tab every device is now marked as having 0-16 bindings. These are presumably with the co-ordinator - the seven end devices on which I have set up bindings (Philips Hue dimmer switches) are shown as having none - presumably they were sleeping during the scan.
- There are two errors in the log, both repeated 15 times:
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:281
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 15:35:58 (15 occurrences)
Last logged: 15:47:34
[139895793773888] Unexpected exception
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/bellows/zigbee/application.py", line 1095, in send_packet
send_status, _ = await future
^^^^^^^^^^^^
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 281, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<7 lines>...
)
^
File "/usr/src/homeassistant/homeassistant/core.py", line 2900, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2943, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/zha_toolkit/__init__.py", line 825, in toolkit_service
raise handler_exception
File "/config/custom_components/zha_toolkit/__init__.py", line 777, in toolkit_service
handler_result = await handler(
^^^^^^^^^^^^^^
...<8 lines>...
)
^
File "/config/custom_components/zha_toolkit/__init__.py", line 912, in command_handler_default
return await default.default(
^^^^^^^^^^^^^^^^^^^^^^
app, listener, ieee, cmd, data, service, params, event_data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/config/custom_components/zha_toolkit/default.py", line 51, in default
await handler(app, listener, ieee, cmd, data, service, params, event_data)
File "/config/custom_components/zha_toolkit/binds.py", line 618, in binds_get
reply = await u.retry_wrapper(
^^^^^^^^^^^^^^^^^^^^^^
zdo.request, ZDOCmd.Mgmt_Bind_req, idx, tries=tries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/config/custom_components/zha_toolkit/utils.py", line 1175, in retry_wrapper
return await retry(
^^^^^^^^^^^^
...<4 lines>...
)
^
File "/config/custom_components/zha_toolkit/utils.py", line 1155, in retry
return await func()
^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/zigpy/zdo/__init__.py", line 68, in request
return await self._device.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<13 lines>...
)
^
File "/usr/local/lib/python3.14/site-packages/zigpy/device.py", line 704, in request
await send_request(attempt=attempt)
File "/usr/local/lib/python3.14/site-packages/zigpy/application.py", line 1136, in request
await self.send_packet(
...<14 lines>...
)
File "/usr/local/lib/python3.14/site-packages/bellows/zigbee/application.py", line 1090, in send_packet
async with asyncio_timeout(
~~~~~~~~~~~~~~~^
MESSAGE_SEND_TIMEOUT_MAINS
^^^^^^^^^^^^^^^^^^^^^^^^^^
if not packet.extended_timeout
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
else MESSAGE_SEND_TIMEOUT_BATTERY
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
):
^
File "/usr/local/lib/python3.14/asyncio/timeouts.py", line 115, in __aexit__
raise TimeoutError from exc_val
TimeoutError
and…
This error originated from a custom integration.
Logger: custom_components.zha_toolkit
Source: custom_components/zha_toolkit/__init__.py:817
Integration: ZHA đź§° Toolkit (documentation, issues)
First occurred: 15:35:58 (15 occurrences)
Last logged: 15:47:34
Exception '' for service call with data '{'zha_toolkit_version': 'v1.2.1', 'zigpy_version': '2.0.0', 'zigpy_rf_version': '0.49.2', 'ieee_org': 00:17:88:01:0b:9f:a4:27, 'ieee': '00:17:88:01:0b:9f:a4:27', 'command': 'binds_get', 'command_data': None, 'start_time': '2026-07-14T14:43:15.298916+00:00', 'errors': ['TimeoutError()'], 'params': {'dir': 0, 'tries': 1, 'expect_reply': True, 'args': [], 'kwargs': {}, 'read_before_write': True, 'read_after_write': True}, 'replies': [], 'success': False}'
Exception '' for service call with data '{'zha_toolkit_version': 'v1.2.1', 'zigpy_version': '2.0.0', 'zigpy_rf_version': '0.49.2', 'ieee_org': 00:17:88:01:08:03:0b:25, 'ieee': '00:17:88:01:08:03:0b:25', 'command': 'binds_get', 'command_data': None, 'start_time': '2026-07-14T14:43:59.637823+00:00', 'errors': ['TimeoutError()'], 'params': {'dir': 0, 'tries': 1, 'expect_reply': True, 'args': [], 'kwargs': {}, 'read_before_write': True, 'read_after_write': True}, 'replies': [], 'success': False}'
Exception '' for service call with data '{'zha_toolkit_version': 'v1.2.1', 'zigpy_version': '2.0.0', 'zigpy_rf_version': '0.49.2', 'ieee_org': 00:17:88:01:08:96:2a:44, 'ieee': '00:17:88:01:08:96:2a:44', 'command': 'binds_get', 'command_data': None, 'start_time': '2026-07-14T14:45:18.021809+00:00', 'errors': ['TimeoutError()'], 'params': {'dir': 0, 'tries': 1, 'expect_reply': True, 'args': [], 'kwargs': {}, 'read_before_write': True, 'read_after_write': True}, 'replies': [], 'success': False}'
Exception '' for service call with data '{'zha_toolkit_version': 'v1.2.1', 'zigpy_version': '2.0.0', 'zigpy_rf_version': '0.49.2', 'ieee_org': 00:15:bc:00:39:00:2e:f2, 'ieee': '00:15:bc:00:39:00:2e:f2', 'command': 'binds_get', 'command_data': None, 'start_time': '2026-07-14T14:46:06.041684+00:00', 'errors': ['TimeoutError()'], 'params': {'dir': 0, 'tries': 1, 'expect_reply': True, 'args': [], 'kwargs': {}, 'read_before_write': True, 'read_after_write': True}, 'replies': [], 'success': False}'
Exception '' for service call with data '{'zha_toolkit_version': 'v1.2.1', 'zigpy_version': '2.0.0', 'zigpy_rf_version': '0.49.2', 'ieee_org': 00:15:bc:00:39:00:3e:15, 'ieee': '00:15:bc:00:39:00:3e:15', 'command': 'binds_get', 'command_data': None, 'start_time': '2026-07-14T14:46:50.385382+00:00', 'errors': ['TimeoutError()'], 'params': {'dir': 0, 'tries': 1, 'expect_reply': True, 'args': [], 'kwargs': {}, 'read_before_write': True, 'read_after_write': True}, 'replies': [], 'success': False}'
I’ll have a look at the developer console this evening.
Edit: After about half an hour (while I was posting this, in fact), the co-ordinator bindings appear on the map and on the Bindings tab.
Another Edit: Just realised that the “Hide coordinator bindings” checkbox affects the bindings page as well… 