Insteon device state changes triggered via RemoteLinc remote are not reaching HA

Hi everyone. I’m brand new to the Home Assistant ecosystem but I’m really enjoying what I’ve learned and tinkered with so far. Well done to all involved in HA’s development, and thanks especially to @teharris1 for their work on the Insteon integration—I had given up several years ago on ever getting my Insteon purchases working nicely, but now might finally be the time.

Setup: I’m running Home Assistant 2021.5.5 in a Docker container on my Synology NAS, and I have the Insteon integration set up with my 2012 Hub (2242-522), several RemoteLinc Mini Remotes (2444A3, 2444A2xx4), several plug-in relays (2633-522), and several micro relays (2443-522).

Goal: My goal is for the states of all devices attached off the relays to be correctly reported by HA, and for the Insteon remotes to perform a combination of direct Insteon device control (i.e. direct linking between the remote and a device) and generation of events that HA can detect (and therefore trigger effects on non-Insteon equipment).

What’s working: I can correctly trigger Insteon device state changes through the HA user interface, and HA correctly detects (and reports) state changes made at the devices’ direct switches (wired wall switches, inbuilt buttons on the plug relays).

What’s not working yet: My HA dashboard isn’t detecting some changes in state triggered externally to HA—that is, HA isn’t detecting a relay being switched on or off by its linked remote.

What I’ve tried:

  • I’ve updated to the currently latest available version of HA, from 2021.5.3 to 2021.5.5.
  • I’ve activated DEBUG logging for pyinsteon and homeassistant.components.insteon in an attempt to identify any obvious problems, and captured logs of some key activities below.
  • I’ve searched these forums for others experiencing the same issue. @mrdrennan did, and it was resolved in their case by ensuring that the linkings between the PLM (a.k.a. Hub?) and the switches were all two-way. I’m pretty sure from the debug logging that this is already the case for me, but I’ve got a picture below of what HouseLinc says about the remote.
  • I’ve used HouseLinc to generate a “Half-Link” report. There are no half-links.

What else might be relevant: I didn’t have any success with auto-discovery of Insteon devices, so I’ve added manual “overrides” for all of the devices I’m interested in.

Thank you in advance for any ideas or assistance you might be able to offer in getting this corrected.

What's logged when I turn my light on using HA
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: send.on.direct data: {'address': 271115, 'on_level': 255, 'group': 1}
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.on.direct data: {'msg': msg_id: 0x62, address: 271115, flags: 0x00, cmd1: 0x11, cmd2: 0xff, 'priority': 3}
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 271115, flags: 0x00, cmd1: 0x11, cmd2: 0xff
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02622711150011ff06
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 271115, flags: 0x00, cmd1: 0x11, cmd2: 0xff, ack: 0x06
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.271115.1.on.direct data: {'cmd1': 17, 'cmd2': 255, 'user_data': None}
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 0250271115266c9c2011ff0250271115266c9c2011ff
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 271115, target: 266c9c, flags: 0x20, cmd1: 0x11, cmd2: 0xff
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: 271115.on.direct_ack data: {'cmd1': 17, 'cmd2': 255, 'target': 266c9c, 'user_data': None, 'hops_left': 0}
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 0250271115266c9c2011ff
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 271115, target: 266c9c, flags: 0x20, cmd1: 0x11, cmd2: 0xff
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: 271115.on.direct_ack data: {'cmd1': 17, 'cmd2': 255, 'target': 266c9c, 'user_data': None, 'hops_left': 0}
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: handler.271115.1.on.direct data: {'on_level': 255}
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: state_271115_on_off_switch_1 data: {'name': 'on_off_switch', 'address': '271115', 'value': 255, 'group': 1}
2021-05-30 14:30:31 DEBUG (MainThread) [homeassistant.components.insteon.insteon_entity] Received update for device 271115 group 1 value 255
2021-05-30 14:30:31 DEBUG (MainThread) [pyinsteon.topics] Topic: event_271115_1_on_event data: {'name': 'on_event', 'address': '271115', 'group': 1, 'button': 'on_off_switch'}
2021-05-30 14:30:31 DEBUG (MainThread) [homeassistant.components.insteon.utils] Firing event insteon.button_on with {'address': '271115'}
2021-05-30 14:30:33 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
What's logged when I turn my light off using HA
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.topics] Topic: send.off.direct data: {'address': 271115, 'group': 1}
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.off.direct data: {'msg': msg_id: 0x62, address: 271115, flags: 0x00, cmd1: 0x13, cmd2: 0x00, 'priority': 3}
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 271115, flags: 0x00, cmd1: 0x13, cmd2: 0x00
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 026227111500130006
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 271115, flags: 0x00, cmd1: 0x13, cmd2: 0x00, ack: 0x06
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.271115.1.off.direct data: {'cmd1': 19, 'cmd2': 0, 'user_data': None}
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 0250271115266c9c2013000250271115266c9c201300
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 271115, target: 266c9c, flags: 0x20, cmd1: 0x13, cmd2: 0x00
2021-05-30 14:31:09 DEBUG (MainThread) [pyinsteon.topics] Topic: 271115.off.direct_ack data: {'cmd1': 19, 'cmd2': 0, 'target': 266c9c, 'user_data': None, 'hops_left': 0}
2021-05-30 14:31:10 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
What's logged when I turn my light on at the switch (HA doesn't seem to detect this)
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61000001cf1100
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 000001, flags: 0xcf, cmd1: 0x11, cmd2: 0x00
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.on.all_link_broadcast data: {'cmd1': 17, 'cmd2': 0, 'target': 000001, 'user_data': None, 'hops_left': 3}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.device_types.battery_base] We have commands to run so let's get to it
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: handler.1c4c61.1.on.all_link_broadcast data: {'on_level': 255}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: subscriber_1c4c61_on_1_broadcast data: {'on_level': 255}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: event_1c4c61_1_on_event data: {'name': 'on_event', 'address': '1c4c61', 'group': 1, 'button': 'on_off_switch_a'}
2021-05-30 14:33:49 DEBUG (MainThread) [homeassistant.components.insteon.utils] Firing event insteon.button_on with {'address': '1c4c61', 'button': 'a'}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 1c4c61, 'priority': 5, 'data1': 0, 'data2': 4, 'data3': 255, 'data4': 0, 'data5': 0, 'data6': 0, 'data7': 0, 'data8': 0, 'data9': 0, 'data10': 0, 'data11': 0, 'data12': 0, 'data13': 0, 'data14': 0}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, 'priority': 5}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 1515
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] Message less than 2 bytes
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 151502501c4c61000001cf1100
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 000001, flags: 0xcf, cmd1: 0x11, cmd2: 0x00
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.on.all_link_broadcast data: {'cmd1': 17, 'cmd2': 0, 'target': 000001, 'user_data': None, 'hops_left': 3}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61266c9c411101
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 266c9c, flags: 0x41, cmd1: 0x11, cmd2: 0x01
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.on.all_link_cleanup data: {'cmd1': 17, 'cmd2': 1, 'target': 266c9c, 'user_data': None, 'hops_left': 0}
2021-05-30 14:33:49 DEBUG (MainThread) [pyinsteon.topics] Topic: handler.1c4c61.1.on.all_link_cleanup data: {}
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61110201cf0600
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 110201, flags: 0xcf, cmd1: 0x06, cmd2: 0x00
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.all_link_cleanup_status_report.all_link_broadcast data: {'cmd1': 6, 'cmd2': 0, 'target': 110201, 'user_data': None, 'hops_left': 3}
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61110201cb0600
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 110201, flags: 0xcb, cmd1: 0x06, cmd2: 0x00
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.all_link_cleanup_status_report.all_link_broadcast data: {'cmd1': 6, 'cmd2': 0, 'target': 110201, 'user_data': None, 'hops_left': 2}
2021-05-30 14:33:50 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
2021-05-30 14:33:57 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Keep awake result: unsent
2021-05-30 14:33:57 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Retries: 2
2021-05-30 14:34:00 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 1c4c61, 'priority': 5, 'data1': 0, 'data2': 4, 'data3': 255, 'data4': 0, 'data5': 0, 'data6': 0, 'data7': 0, 'data8': 0, 'data9': 0, 'data10': 0, 'data11': 0, 'data12': 0, 'data13': 0, 'data14': 0}
2021-05-30 14:34:00 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, 'priority': 5}
2021-05-30 14:34:00 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf
2021-05-30 14:34:00 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02621c4c61102e000004ff00000000000000000000cf06
2021-05-30 14:34:00 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, ack: 0x06
2021-05-30 14:34:00 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.1c4c61.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf}
2021-05-30 14:34:01 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
2021-05-30 14:34:03 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Keep awake result: failure
2021-05-30 14:34:03 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Retries: 1
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 1c4c61, 'priority': 5, 'data1': 0, 'data2': 4, 'data3': 255, 'data4': 0, 'data5': 0, 'data6': 0, 'data7': 0, 'data8': 0, 'data9': 0, 'data10': 0, 'data11': 0, 'data12': 0, 'data13': 0, 'data14': 0}
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, 'priority': 5}
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 0262
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] Full message not received
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02621c4c61102e000004ff00000000000000000000
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] Message too short
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02621c4c61102e000004ff00000000000000000000cf06
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, ack: 0x06
2021-05-30 14:34:06 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.1c4c61.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf}
2021-05-30 14:34:07 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
2021-05-30 14:34:09 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Keep awake result: failure
2021-05-30 14:34:09 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Retries: 0
What's logged when I turn my light off at the switch (HA doesn't seem to detect this)
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61000001cf1300
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 000001, flags: 0xcf, cmd1: 0x13, cmd2: 0x00
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.off.all_link_broadcast data: {'cmd1': 19, 'cmd2': 0, 'target': 000001, 'user_data': None, 'hops_left': 3}
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.device_types.battery_base] We have commands to run so let's get to it
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, 'priority': 5}
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 1515
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] Message less than 2 bytes
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 151502501c4c61000001cf1300
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 000001, flags: 0xcf, cmd1: 0x13, cmd2: 0x00
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.off.all_link_broadcast data: {'cmd1': 19, 'cmd2': 0, 'target': 000001, 'user_data': None, 'hops_left': 3}
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61266c9c451301
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 266c9c, flags: 0x45, cmd1: 0x13, cmd2: 0x01
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.off.all_link_cleanup data: {'cmd1': 19, 'cmd2': 1, 'target': 266c9c, 'user_data': None, 'hops_left': 1}
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.topics] Topic: handler.1c4c61.1.off.all_link_cleanup data: {}
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61130201cf0600
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 130201, flags: 0xcf, cmd1: 0x06, cmd2: 0x00
2021-05-30 14:34:28 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.all_link_cleanup_status_report.all_link_broadcast data: {'cmd1': 6, 'cmd2': 0, 'target': 130201, 'user_data': None, 'hops_left': 3}
2021-05-30 14:34:29 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02501c4c61130201cf0600
2021-05-30 14:34:29 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x50, address: 1c4c61, target: 130201, flags: 0xcf, cmd1: 0x06, cmd2: 0x00
2021-05-30 14:34:29 DEBUG (MainThread) [pyinsteon.topics] Topic: 1c4c61.1.all_link_cleanup_status_report.all_link_broadcast data: {'cmd1': 6, 'cmd2': 0, 'target': 130201, 'user_data': None, 'hops_left': 3}
2021-05-30 14:34:29 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
2021-05-30 14:34:36 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Keep awake result: unsent
2021-05-30 14:34:36 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Retries: 2
2021-05-30 14:34:39 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 1c4c61, 'priority': 5, 'data1': 0, 'data2': 4, 'data3': 255, 'data4': 0, 'data5': 0, 'data6': 0, 'data7': 0, 'data8': 0, 'data9': 0, 'data10': 0, 'data11': 0, 'data12': 0, 'data13': 0, 'data14': 0}
2021-05-30 14:34:39 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, 'priority': 5}
2021-05-30 14:34:39 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf
2021-05-30 14:34:39 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02621c4c61102e000004ff00000000000000000000cf06
2021-05-30 14:34:39 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, ack: 0x06
2021-05-30 14:34:39 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.1c4c61.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf}
2021-05-30 14:34:40 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
2021-05-30 14:34:42 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Keep awake result: failure
2021-05-30 14:34:42 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Retries: 1
2021-05-30 14:34:45 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 1c4c61, 'priority': 5, 'data1': 0, 'data2': 4, 'data3': 255, 'data4': 0, 'data5': 0, 'data6': 0, 'data7': 0, 'data8': 0, 'data9': 0, 'data10': 0, 'data11': 0, 'data12': 0, 'data13': 0, 'data14': 0}
2021-05-30 14:34:45 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, 'priority': 5}
2021-05-30 14:34:45 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf
2021-05-30 14:34:45 DEBUG (MainThread) [pyinsteon.protocol.messages.inbound] IN CREATE: 02621c4c61102e000004ff00000000000000000000cf06
2021-05-30 14:34:45 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 1c4c61, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf, ack: 0x06
2021-05-30 14:34:45 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.1c4c61.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 00.04.ff.00.00.00.00.00.00.00.00.00.00.cf}
2021-05-30 14:34:46 DEBUG (MainThread) [pyinsteon.protocol.protocol] Started
2021-05-30 14:34:48 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Keep awake result: failure
2021-05-30 14:34:48 DEBUG (MainThread) [pyinsteon.device_types.battery_base] Retries: 0
What HouseLinc says about the remote in question

Are you sure that your All-Link databases are loaded for all devices? IF the ALDB is loaded, the Insteon component will identify linked devices and set the status of the linked devices correctly.

I am concerned about the statement that the auto-discovery did not work. That probably indicates some other issue with the setup that is important. If all of these devices work in HouseLinc, they should all work well in Home Assistant.

Thank you for getting back to me and sorry for my delay in responding.

My Insteon terminology is quite shaky but I’m pretty sure that my All-Link databases are at least all correct. I’m unsure whether “loaded” means “on the devices themselves” (which I would say that they are, because everything looks correct in HouseLinc) or “into HA” (and I’m not 100% sure how that would be verified).

As for the auto-discovery, I suspect I may have just been impatient. I’ve tried removing some of the manual overrides and the devices continue to be visible and working within HA. I guess I just might not have been cycling them enough at the time of setup for HA to detect them?…

In terms of what HouseLinc reports about the affected devices:

  • The switch reports the Hub as both a controller and a responder
  • The switch reports the On/Off module powering the light as a responder
  • The On/Off module powering the light reports the Hub as both a controller and a responder
  • The On/Off module powering the light reports the switch as a controller
  • The Hub reports the switch as two different controllers
  • The Hub reports both the switch and the On/Off module as responders.

This seems all correct to me as an outsider with limited knowledge of how Insteon works. Is there something else I should check?

Did you ever figured it out?

I’ve had a similar issue with Insteon since ever and it’s the reason why I haven’t moved to Home Assistant. I have yet to create a single automation in almost two years give or take that I’ve had the machine running.

When I set HA connected directly to Insteon interface, a PowerLinc 2413U, status aren’t reported back or are slow to respond or change momentarily then they flip back i.e; the status changes momentarily when the command is suposed to be sent, the responder executes the command, but despite it was successful and the state was toggled, the status back on HA reverts to the initial state.

My Insteon controller is Indigo Pro. Like HA, it’s extensible too; I tried piggybacking the Insteon network over Indigo using MQTT and HomeKit but in both protocols Insteon devices “flip back” or respond too late or their status become out of sync (out of sync with HA only, not with Indigo or among themselves).

Insteon devices can be published as Hue lights to HA from Insteon, but that make them all toggles and dimmers so I didn’t even try.

Recently I tried installing the discontinued HouseLinc because I (mis-)understood it might have some sort of API to which HA could talk to, but after hours sorting out and hunting down discontinued firmware it turned out no to be the case.

Outside of Indigo and ISY — I think — not even the manufacturer has decent support for Insteon. I doubt HA gets it since it doens’t seem like there’s actual focus on it other than using an existing python library. I kind of get it, it makes much more sense targeting cheaper (thus more deployed) and actively developed tech like Z-Wave.

Still, I’m hopeful… :slightly_smiling_face:
Please keep posted!

I have not used Indigo Pro, but I believe it is a Mac based software app that can control Insteon devices via a USB hub like you have. That being the case the Insteon hub should have all the responder, controller links set within the hub and the your insteon devices.

I recommend you shut down / disable Indigo pro. as a test ( having two controllers could get very confusing )
then connect your usb hub to whatever computer your running HA on
install and configure the Insteon integration under HA.
then wait… it can be fairly slow to load the database from the hub the first time
once done you will see all your devices listed in the integration

I am running this config on a Rpi4, and the insteon response is pretty well instantaneous and accurate