core
core copied to clipboard
Insteon write to device clears screen and does not refresh aldb table on screen
The problem
When clicking write to device on some devices, after modifying ALDB entries (changing in use to false), the ALDB table disappears from the screen and does not reappear. You have to go out of the device and back in, or click to load from the device. This also happens sometimes when clicking add default links. The behavior typically happens on devices with larger ALDB tables such as 6-in-1 button switches. It seems to occur more frequently when trying to modify numerous ALDB entries at a time, for example 10+. Making the updates in smaller batches, like 3 at a time, can sometimes prevent the issue but it still occurs. There is an error in the logs about "ALDBReadManager.async_read() got an unexpected keyword argument 'force'".
What version of Home Assistant Core has the issue?
2023.3.5
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
insteon
Link to integration documentation on our website
https://www.home-assistant.io/integrations/insteon/
Diagnostics information
home-assistant_insteon_2023-03-19T22-30-52.123Z.log
Example YAML snippet
No response
Anything in the logs that might be useful for us?
2023-03-19 18:21:12.406 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [1424512192] Error handling message: Unknown error (unknown_error) Matt from 192.168.0.32 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 26, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/insteon/api/aldb.py", line 244, in websocket_add_default_links
await device.async_add_default_links()
File "/usr/local/lib/python3.10/site-packages/pyinsteon/device_types/device_base.py", line 241, in async_add_default_links
return await async_add_default_links(self)
File "/usr/local/lib/python3.10/site-packages/pyinsteon/managers/link_manager/default_links.py", line 40, in async_add_default_links
result = await async_link_devices(
File "/usr/local/lib/python3.10/site-packages/pyinsteon/managers/link_manager/__init__.py", line 147, in async_link_devices
_, failed_2 = await responder.aldb.async_write()
File "/usr/local/lib/python3.10/site-packages/pyinsteon/aldb/aldb_base.py", line 322, in async_write
async for test_rec in self._read_manager.async_read(
TypeError: ALDBReadManager.async_read() got an unexpected keyword argument 'force'
2023-03-19 18:25:05.926 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [1424512192] Error handling message: Unknown error (unknown_error) Matt from 192.168.0.32 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 26, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/insteon/api/aldb.py", line 176, in websocket_write_aldb
await device.aldb.async_write()
File "/usr/local/lib/python3.10/site-packages/pyinsteon/aldb/aldb_base.py", line 322, in async_write
async for test_rec in self._read_manager.async_read(
TypeError: ALDBReadManager.async_read() got an unexpected keyword argument 'force'
Additional information
No response
Hey there @teharris1, mind taking a look at this issue as it has been labeled with an integration (insteon
) you are listed as a code owner for? Thanks!
Code owner commands
Code owners of insteon
can trigger bot actions by commenting:
-
@home-assistant close
Closes the issue. -
@home-assistant rename Awesome new title
Renames the issue. -
@home-assistant reopen
Reopen the issue. -
@home-assistant unassign insteon
Removes the current integration label and assignees on the issue, add the integration domain after the command.
(message by CodeOwnersMention)
insteon documentation insteon source (message by IssueLinks)
Perfect Issue description. Thank you. This is quick fix. I will get it into a patch update. Not sure if it will make it into a 2023.3.x or if it will come in 2023.4. For clarity, yes, the reason it is happening in larger ALDBs like KeypadLincs is that they often respond with a "direct_nak" response which is basically saying "I can neither confirm nor deny that the record was written". Sorry for the issue. It will be fixed quickly.