core icon indicating copy to clipboard operation
core copied to clipboard

Insteon write to device clears screen and does not refresh aldb table on screen

Open mljenkinsdotcom opened this issue 1 year ago • 2 comments

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

mljenkinsdotcom avatar Mar 19 '23 22:03 mljenkinsdotcom

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)

home-assistant[bot] avatar Mar 19 '23 22:03 home-assistant[bot]

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.

teharris1 avatar Mar 20 '23 12:03 teharris1