Here’s the logs from your VS handler (simulated switch and smartapp) and the v2 physical device type from app on/off commands.
Relay SmartApp Log:
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:55 PM: debug physicalHandler called with event: name:switch2 source:DEVICE value:off isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.switches.switch.off","backgroundColor":"#ffffff"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:54 PM: debug physicalHandler called with event: name:switch2 source:DEVICE value:on isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.switches.switch.on","backgroundColor":"#79b821"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:52 PM: debug virtualHandler called with event: deviceId dd18f950-cbba-44d8-8e7c-245f3c8f4d9c name:null source:COMMAND value:off isStateChange: true isPhysical: false isDigital: false data: null device: Living Room Fan
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:51 PM: debug virtualHandler called with event: deviceId dd18f950-cbba-44d8-8e7c-245f3c8f4d9c name:null source:COMMAND value:on isStateChange: true isPhysical: false isDigital: false data: null device: Living Room Fan
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:50 PM: debug physicalHandler called with event: name:switch1 source:DEVICE value:off isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.Lighting.light24","backgroundColor":"#ffffff"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:48 PM: debug physicalHandler called with event: name:switch1 source:DEVICE value:on isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.Lighting.light24","backgroundColor":"#79b821"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:47 PM: debug virtualHandler called with event: deviceId 394ad4b1-0044-4bc5-9b4f-eb4516304872 name:null source:COMMAND value:off isStateChange: true isPhysical: false isDigital: false data: null device: Living Room Light
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:40:43 PM: debug virtualHandler called with event: deviceId 394ad4b1-0044-4bc5-9b4f-eb4516304872 name:null source:COMMAND value:on isStateChange: true isPhysical: false isDigital: false data: null device: Living Room Light
Living Room Light Log (VS):
394ad4b1-0044-4bc5-9b4f-eb4516304872 1:40:46 PM: debug PUBLISHED off()
394ad4b1-0044-4bc5-9b4f-eb4516304872 1:40:43 PM: debug PUBLISHED on()
Living Room Fan Log (VS):
dd18f950-cbba-44d8-8e7c-245f3c8f4d9c 1:40:52 PM: debug PUBLISHED off()
dd18f950-cbba-44d8-8e7c-245f3c8f4d9c 1:40:49 PM: debug PUBLISHED on()
Living Room Relay Device Log:
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:40:55 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 37, destinationEndPoint: 0, parameter: [0], sourceEndPoint: 2) to [['name':switch2, 'value':'off', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch2 is off], ['name':'switch', 'value':'off', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch is off]]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:40:53 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 37, destinationEndPoint: 0, parameter: [255], sourceEndPoint: 2) to [['name':switch2, 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch2 is on], ['name':'switch', 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch is on]]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:40:50 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 37, destinationEndPoint: 0, parameter: [0], sourceEndPoint: 1) to [['name':switch1, 'value':'off', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch1 is off], ['name':'switch', 'value':'off', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch is off]]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:40:46 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 37, destinationEndPoint: 0, parameter: [255], sourceEndPoint: 1) to [['name':switch1, 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch1 is on], ['name':'switch', 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch is on]]
And here’s the log from the physical switch toggles. Looks like it IS updating correctly for everything. Had my wife do it while I watched logging/app status so I can’t comment on how quickly the app updated, but it did!
Living Room Relay Device Log:
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:45:23 PM: debug Parsed BasicReport(value: 0) to [null]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:45:15 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 32, destinationEndPoint: 0, parameter: [0], sourceEndPoint: 1) to [['name':switch1, 'value':'off', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch1 is off]]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:45:15 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 32, destinationEndPoint: 0, parameter: [0], sourceEndPoint: 2) to [['name':switch2, 'value':'off', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch2 is off]]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:45:02 PM: debug Parsed BasicReport(value: 255) to [null]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:44:53 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 32, destinationEndPoint: 0, parameter: [255], sourceEndPoint: 1) to [['name':switch1, 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch1 is on], ['name':'switch', 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch is on]]
77b0831d-36fa-4f36-8dfd-fa567505a03a 1:44:53 PM: debug Parsed MultiChannelCmdEncap(bitAddress: false, command: 3, commandClass: 32, destinationEndPoint: 0, parameter: [255], sourceEndPoint: 2) to [['name':switch2, 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch2 is on], ['name':'switch', 'value':'on', 'isStateChange':true, 'displayed':true, 'linkText':'LR Light & Fan Relay Device', 'descriptionText':LR Light & Fan Relay Device switch is on]]
Relay SmartApp Log:
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:45:16 PM: debug physicalHandler called with event: name:switch1 source:DEVICE value:off isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.Lighting.light24","backgroundColor":"#ffffff"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:45:15 PM: debug physicalHandler called with event: name:switch2 source:DEVICE value:off isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.switches.switch.off","backgroundColor":"#ffffff"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:44:54 PM: debug physicalHandler called with event: name:switch2 source:DEVICE value:on isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.switches.switch.on","backgroundColor":"#79b821"}} device: LR Light & Fan Relay Device
43c3f4d2-a426-4dfb-8b2e-4461ac515db6 1:44:54 PM: debug physicalHandler called with event: name:switch1 source:DEVICE value:on isStateChange: true isPhysical: false isDigital: false data: {"microDeviceTile":{"type":"standard","icon":"st.Lighting.light24","backgroundColor":"#79b821"}} device: LR Light & Fan Relay Device