New Insteon version for beta testing - (Do not use since this is now in 0.111 and higher)

Another potential issue, I’ve noticed another Insteon device that seems to be acting a bit weird, it’s a Dimmer switch, not a KPL.

As you can see, looks like a bunch of repeated / round trips getting the same answer. This happens on each boot.

2020-04-30 09:35:46 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 0}
2020-04-30 09:35:46 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, 'priority': 5}
2020-04-30 09:35:46 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00
2020-04-30 09:35:46 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, ack: 0x06
2020-04-30 09:35:46 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 0, 'user_data': None}
2020-04-30 09:35:49 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 0}
2020-04-30 09:35:49 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, 'priority': 5}
2020-04-30 09:35:49 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00
2020-04-30 09:35:49 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, ack: 0x06
2020-04-30 09:35:49 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 0, 'user_data': None}
2020-04-30 09:35:52 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 0}
2020-04-30 09:35:52 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, 'priority': 5}
2020-04-30 09:35:52 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00
2020-04-30 09:35:53 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, ack: 0x06
2020-04-30 09:35:53 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 0, 'user_data': None}
2020-04-30 09:35:56 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 0}
2020-04-30 09:35:56 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, 'priority': 5}
2020-04-30 09:35:56 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00
2020-04-30 09:35:56 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, ack: 0x06
2020-04-30 09:35:56 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 0, 'user_data': None}
2020-04-30 09:35:59 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 0}
2020-04-30 09:35:59 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, 'priority': 5}
2020-04-30 09:35:59 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00
2020-04-30 09:35:59 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x00, ack: 0x06
2020-04-30 09:35:59 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 0, 'user_data': None}
2020-04-30 09:36:02 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 5}
2020-04-30 09:36:02 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, 'priority': 5}
2020-04-30 09:36:02 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05
2020-04-30 09:36:02 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, ack: 0x06
2020-04-30 09:36:02 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 5, 'user_data': None}
2020-04-30 09:36:05 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 5}
2020-04-30 09:36:05 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, 'priority': 5}
2020-04-30 09:36:05 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05
2020-04-30 09:36:05 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, ack: 0x06
2020-04-30 09:36:05 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 5, 'user_data': None}
2020-04-30 09:36:08 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 5}
2020-04-30 09:36:08 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, 'priority': 5}
2020-04-30 09:36:08 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05
2020-04-30 09:36:08 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, ack: 0x06
2020-04-30 09:36:08 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 5, 'user_data': None}
2020-04-30 09:36:11 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 5}
2020-04-30 09:36:11 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, 'priority': 5}
2020-04-30 09:36:11 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05
2020-04-30 09:36:12 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, ack: 0x06
2020-04-30 09:36:12 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 5, 'user_data': None}
2020-04-30 09:36:15 DEBUG (MainThread) [pyinsteon.topics] Topic: send.get_operating_flags.direct data: {'address': 24cbd1, 'flags_requested': 5}
2020-04-30 09:36:15 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.get_operating_flags.direct data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, 'priority': 5}
2020-04-30 09:36:15 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05
2020-04-30 09:36:15 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x00, cmd1: 0x1f, cmd2: 0x05, ack: 0x06
2020-04-30 09:36:15 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.get_operating_flags.direct data: {'cmd1': 31, 'cmd2': 5, 'user_data': None}
2020-04-30 09:36:18 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:18 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:18 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:18 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:18 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:23 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:23 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:23 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:23 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:23 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:28 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:28 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:28 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:29 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:29 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:34 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:34 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:34 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:34 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:34 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:39 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:39 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:39 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:39 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:39 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:44 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:44 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:44 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:44 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:44 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:49 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:49 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:49 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:49 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:49 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:36:54 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:36:54 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:36:54 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:36:55 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:36:55 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:00 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:00 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:00 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:00 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:00 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:05 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:05 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:05 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:05 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:05 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:10 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:10 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:10 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:10 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:10 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:15 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:15 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:15 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:16 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:16 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:21 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:21 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:21 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:21 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:21 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:26 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:26 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:26 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:26 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:26 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:31 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:31 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:31 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:31 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:31 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:36 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:36 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:36 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:37 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:37 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:42 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:42 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:42 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:42 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:42 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:47 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:47 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:47 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:47 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:47 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}
2020-04-30 09:37:52 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_get_set.direct data: {'address': 24cbd1, 'data1': 1, 'data2': 0}
2020-04-30 09:37:52 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_get_set data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, 'priority': 5}
2020-04-30 09:37:52 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1
2020-04-30 09:37:52 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2e, cmd2: 0x00, user_data: 01.00.00.00.00.00.00.00.00.00.00.00.00.d1, ack: 0x06
2020-04-30 09:37:52 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_get_set.direct data: {'cmd1': 46, 'cmd2': 0, 'user_data': 01.00.00.00.00.00.00.00.00.00.00.00.00.d1}

Does it ever stop?

Yes, looks like there were a few different message above, but each one is repeated, but it eventually does stop, then starts up again, and stops. Those messages were last timestamped at 9:37:52, but I see another one at 9:50:27. Back to back events from 9:35:46 > 9:46:36

This seems to be the only device that pops up this way.

2020-04-30 09:50:27 DEBUG (MainThread) [pyinsteon.topics] Topic: send.extended_read_write_aldb.direct data: {'address': 24cbd1, 'action': 0, 'mem_addr': 4095, 'num_recs': 1}
2020-04-30 09:50:27 DEBUG (MainThread) [pyinsteon.topics] Topic: send_message.extended_read_write_aldb data: {'msg': msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2f, cmd2: 0x00, user_data: 01.00.0f.ff.01.00.00.00.00.00.00.00.00.c1, 'priority': 5}
2020-04-30 09:50:27 DEBUG (MainThread) [pyinsteon.messages] TX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2f, cmd2: 0x00, user_data: 01.00.0f.ff.01.00.00.00.00.00.00.00.00.c1
2020-04-30 09:50:27 DEBUG (MainThread) [pyinsteon.messages] RX: msg_id: 0x62, address: 24cbd1, flags: 0x10, cmd1: 0x2f, cmd2: 0x00, user_data: 01.00.0f.ff.01.00.00.00.00.00.00.00.00.c1, ack: 0x06
2020-04-30 09:50:27 DEBUG (MainThread) [pyinsteon.topics] Topic: ack.24cbd1.extended_read_write_aldb.direct data: {'cmd1': 47, 'cmd2': 0, 'user_data': 01.00.0f.ff.01.00.00.00.00.00.00.00.00.c1}

OK, let me see why this would occur. Can you open your insteon_devices.json file in your config directory. There will be a section that starts with:

  {
    "address": "24cbd1",
    "cat": 2,
    "subcat": 57,
    "firmware": 68,
    "engine_version": 2,
    "aldb_status": 1,

I am looking for the values in cat, subcat, firmware and engine_version. Below that you will see all of the All-Link database records and finally the operating_flags and properties. Can you tell me what the operating_flags section says?

Here you go. For some reason the aldb looks empty {}. I do see it filled out for others, and I see this switch referenced in others, but aldb is blank.

  {
    "address": "24cbd1",
    "cat": 2,
    "subcat": 42,
    "firmware": 0,
    "engine_version": 3,
    "aldb_status": 0,
    "aldb": {},
    "operating_flags": {
      "program_lock_on": false,
      "blink_on_tx_on": false,
      "resume_dim_on": false,
      "led_on": true,
      "key_beep_on": false,
      "blink_on_error_on": false
    },
    "properties": {
      "led_dimming": 0,
      "x10_house": 0,
      "x10_unit": 0
    }
  },

I tried to implement your insteon2 package but I am running into problems. Home assistant is telling me “2020-05-01 10:37:54 ERROR (MainThread) [homeassistant.setup] Setup failed for insteon2: Integration not found”. I followed your instructions I believe, but something is wrong. You did say to put the insteon2 folder in a new directory called custom-components and in the same folder as where my configuration yaml file is located. Thank you for any help.

The location is custom_components inside your configuration directory. So assuming your configuration directory is called config it would be config -> custom_components -> insteon2. You also need to insteall the pyinsteon module and how that is installed depends on how you are running HA. In a few weeks this will be the insteon component in the main branch of HA so none of the above will be required .

It seems that my custom_components is in my ~/.homeassistant/ folder. I am not sure where the configuration directory is. Should all my home assistant files be in this config directory? It seems that my home assistant directory is in my "User" directory.

Yes, .homeassistant is the standard folder on many installs so that is where it belongs.

The only thing I saw was your original post said custom-components not custom_components

One last question. Does this version work on home assistant installed on a Mac computer?

Yes it should. Are you a PLM or Hub?

I am hub. I have the 2245 hub. I am still getting that no integration message. I guess I will wait until you integrate it into home assistant.

Hi everyone, just a quick update. I released the first version of pyinsteon Sunday so now it is version 1.0.0. This is a huge milestone for me since I started pyinsteon over a year ago but darn day job got in the way. Also all of the issues you all helped find are marked closed so all known issues in this release are resolved. I cannot thank you all enough for the help.

I submitted the pull request for the insteon component upgrade yesterday so now it needs to go through code review. This can take some time but I hope it will be available in release 110 or 111. The first release will not include the Thermostat because they don’t like when you put extra features in a single pull request (which is standard development practice so don’t be surprised.) I will release the Thermostat as soon as the code review on the first pull request is complete.

As for the roadmap, I am working to make Insteon an integration which means new users will not need to edit configuration.yaml but can use the interface to start up Insteon. Not a big deal to any of you but definitely something that will drive up the use of Insteon in HA, which is good for all of us.

But the big change will come in a few months with a configuration panel to enable a UI to configure Insteon including modifying the All-Link Database, setting ramp rate and other device settings and adding / removing devices. I have a design started but the HA leadership is still working out some details regarding how configuration panels are to work in future releases so the timing is a bit vague right now.

Thank you all again for the help. This project is near and dear to me so it feels good to get it on the right track again.

7 Likes

Thank you for all your efforts on this. Really looking forward to having the changes integrated into HA.

That’s great! congrats!

With your configuration panel – are you envisioning the ability to modify databases of devices too, not just the modem? That would be fantastic if i could traverse my network and find bad links or update controller/responder pairs that were incomplete.

Ramp rates and modify scenes sound awesome too. Looking forward to seeing your work

Yes, a short list of features include:

  1. Modifying a device’s ALDB
  2. Adding a device to a scene
  3. Creating a link between devices
  4. Finding broken links
  5. Removing dead devices from the modem

The underlying library can do all of that already but you need to know Python to use it. The UI will be making that available to the user.

1 Like

Congrats! Well done and thank you!

Garry

Hi everyone,
my dad has a couple of Insteon thermostat (2441TH and 2441ZTH) with an USB PLM, I’d like to setup Home Assistant with Hassio on a RPi to let him control them.

I found both this component from @teharris1 (many thanks for your work) and the Insteon-to-MQTT add-on.

Since it’s not my house, I’ll have to setup everything in a small time (one afternoon) and then support remotely any problems, so I don’t have much time to install both and compare. I don’t need features, it will only control the thermostats, but I need it to be stable as I will have a hard time troubleshooting errors.
I’m already planning to setup MQTT for a couple of Sonoffs, so that will not be an influencing factor.

Can you help me suggesting what will be the best setup? Main differences between the two components?

A couple of quick thoughts. First, the built-in Insteon module will support both the wired and wireless thermostats in a few weeks but not today. I know the MQTT solution you referenced supports the 2441TH but I am not sure about the 2441ZTH. Battery operated devices have some nuances that are interesting, to say the least. You don’t want to run the custom component in this thread since it was for testing only but will be removed once it is in the main Home Assistant component.

I am obviously biased toward the main Insteon component so I will let others compare it to the MQTT solution. The one advantage of the built-in component over MQTT is updates are easier to implement but it sounds like that is not your main concern as it likely is a “set it and forget it” solution that you are looking for.

The only other thought I have is maybe you want to consolidate down the number of technologies you use. Since you will be running an MQTT solution for Sonoff, using MQTT for Insteon too is easier. However, the Insteon MQTT solution requires a separate application with its own configuration management. It does add another layer to manage. The built-in component runs inside HA and starts and stops with HA.