Preventing one switch from working whilst another is active

Hi, I have retro fitted a broken garage door controller with a tasmotized sonoff dual channel wifi switch…
it seems to work well, with me using Node red to set time limits to open and close ( i have zigbee contact sensors that i will use as a belts and braces approach at some point)
My question is in theory both switches to raise and lower the garage door could be activated at the same time, either by HA and the local over ride switch that i have setup.
is there a way to disable (prevent from running ) switch 1 if switch 2 is active and vice versa?

or am i being dumb and it’s a simple as putting an automation in with switch 1 on trigger, switch 2 off response? or is there a better way?

actually i think i have it in node red

[{"id":"536fd775.58fe48","type":"server-state-changed","z":"bfd7aef0.eb01f","name":"","server":"3d69c792.a40838","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.garage_door2_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"26","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":170,"y":1660,"wires":[["7bda149b.d98cdc"],[]]},{"id":"7bda149b.d98cdc","type":"api-call-service","z":"bfd7aef0.eb01f","name":"","server":"3d69c792.a40838","version":1,"debugenabled":false,"service_domain":"homeassistant","service":"turn_off","entityId":"switch.garage_door2_2","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":550,"y":1660,"wires":[[]]},{"id":"ff47fbaf.e51008","type":"server-state-changed","z":"bfd7aef0.eb01f","name":"","server":"3d69c792.a40838","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.garage_door_4","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"23","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":170,"y":1800,"wires":[["94a39c20.e7bf2"],[]]},{"id":"94a39c20.e7bf2","type":"api-call-service","z":"bfd7aef0.eb01f","name":"","server":"3d69c792.a40838","version":1,"debugenabled":false,"service_domain":"homeassistant","service":"turn_off","entityId":"switch.garage_door_4","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":550,"y":1800,"wires":[[]]},{"id":"154530ed.ad401f","type":"comment","z":"bfd7aef0.eb01f","name":"11. (Below) Garage Door open (26sec) /Close (23sec)","info":"","x":220,"y":1600,"wires":[]},{"id":"cf603077.c9514","type":"server-state-changed","z":"bfd7aef0.eb01f","name":"Protect Garage Switch 1","server":"3d69c792.a40838","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.garage_door2_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":130,"y":1700,"wires":[["1d605e6a.725372"],[]]},{"id":"1d605e6a.725372","type":"api-call-service","z":"bfd7aef0.eb01f","name":"Turn Off Garage Switch 2","server":"3d69c792.a40838","version":1,"debugenabled":false,"service_domain":"homeassistant","service":"turn_off","entityId":"switch.garage_door_4","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":530,"y":1700,"wires":[[]]},{"id":"8df0ba29.db07c8","type":"server-state-changed","z":"bfd7aef0.eb01f","name":"Protect Garage Switch 2","server":"3d69c792.a40838","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.garage_door_4","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":130,"y":1860,"wires":[["38562e63.59fbe2"],[]]},{"id":"38562e63.59fbe2","type":"api-call-service","z":"bfd7aef0.eb01f","name":"Turn Off Garage Switch 1","server":"3d69c792.a40838","version":1,"debugenabled":false,"service_domain":"homeassistant","service":"turn_off","entityId":"switch.garage_door2_2","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":530,"y":1860,"wires":[[]]},{"id":"3d69c792.a40838","type":"server","name":"Home Assistant","addon":true}]```

In esphome this is called interlock.
I don’t recall seeing a similar function in ha itself.
Maybe esphome would be an option?

You could achieve this with some template switches wrapping the actual switches. Those would check that the other switch was off before continuing.

HA itself has no built in interlock.