Proper way to setup Insteon 3-way switches?

Hi, I’m running 0.110.1, with an Insteon 2413U USB PLM, using the default insteon component. I have a few 3-way light switches that work correctly at the switch level. They are linked directly, and can both turn on/off a light, and their LED indicators properly track the light state.

However, if I turn a light on with one switch, then off with the other switch, HA doesn’t notice the state change properly.

Is there something wrong with my configuration? Or should I setup some sort of automation to watch the switches and do the right thing? Any help would be appreciated. Thanks!

Another interesting detail that I didn’t notice: if I turn on one of the 3-way switches in HA, it doesn’t actually turn on the switch. It makes me think it’s only setup (physically and linked) to turn on the ‘other’ part of the 3-way? And turning it on via HA doesn’t actually do that?

I use an isy from universal devices for my insteon control so I may be a bit off.
If you have 2 switches then it’s my understanding that only one switch controls the load (light) and the other switch controls the 1st switch.
I think this is what you’re saying.

Sooooo, if you have them linked so that this happens then changing the 2nd switch should change the status of both the switches. I would think you would only include the switch connected to the load in Lovelace though.

That sounds correct. I guess the issue is that if I use the non-load switch to turn off the light, HA still thinks the load switch is on. So maybe I just need to set an automation for the non-load switch to mirror the state to the load switch in HA?

This crude automation does the right thing for my setup:

- id: '1590078575042'
  alias: Mirror Dining Table Light
  description: ''
  trigger:
  - entity_id: light.switchlinc_dimmer_40_a2_2c
    platform: state
  condition: []
  action:
  - entity_id: light.switchlinc_dimmer_40_a1_80
    service_template: light.turn_{{trigger.to_state.state}}

Okay so from this it seems that the way you have it setup it only sees the control or actual button press and not the status of being controlled remotely.
Strange, but this is why I have the ISY. It takes care of all the insteon oddities.
Glad you figured out a way to do it though.

@moralsnipe there is a major update to Insteon coming in 0.111. It will recognize the three-way switch device changes and represent them correctly in HA. So when you change either of the two switches at the physical device, HA will recognize the other switch change.

What is not changing (by design) is if you turn a switch on/off in HA the second switch in the three-way relationship will still not change. This is consistent with the way Insteon works. The PLM is just another device in the network and so when the PLM triggers a device it is assumed to target only that device, not the devices linked to it. So if you want to turn on the second switch when the first switch is changed in HA, you should set up an automation for that. One way to do this is with a switch template which will allow you to have one HA switch that will trigger both of the three way switches.

By the way, in an Insteon three-way switch configuration, the switch without the load is only a triggering device, its state is irrelevant. In fact the switch without load does not even need to be a responder of the switch with load, It only needs to be a controller. Most people set them up to be both a responder and a controller (I do that as well). But even if the switch without load is in the “off” state while the load is on, turning “off” the second switch will still trigger the switch with load to turn off. It is the message that matters, not the state of the second switch.