Fan speed card with 3 relays

Hello everybody, I’m setting up the climate control in my house for the first time in Home Assistant.
I have a fancoil which speed gets set through 3 contacts, one for every speed. So to set the speed to low you have to close the first contact, medium is the second one and high is the third one. If no contact is closed, the fan stays off.
I’m going to do this through three relays, one for every contact, connected to an ESP32 S3 board.
I’m trying to setup a card in my Home Assistant homepage that shows three buttons for the three speeds, and there can’t obviously be two buttons pressed at once, it has always to be just one button pressed or no one at all. So, my idea is that when you press a button, the other one
pressed deactivates.
Being pretty ignorant in programming, I have no cloue about how to do this. Does anybody have any idea, or are there any old topics about this? Thanks in advance to everybody!
I’ll leave a picture just for more clarity:

I don’t know your setup but why don’t you go for a wifi/zigbee fancoil thermostat?
You’ll have full control and in addition you’ll have the temps reported in HA…

Do you mean something like this? I would prefer to not have any external thermostats, because I’m going to control the climate and the rest of the house through a second Raspberry (not the one with Home Assistant OS) as a touchscreen kiosk. This fancoil works in addition to a heater that I’ve already set up in Home Assistant with a relay, so it would be nice to have everything there with just one virtual thermostat and the controls for the fan speed. Thanks anyway for the idea!

That’s exactly the same thermostat I had in mind given that It’s the same I have in my house :slight_smile:

That device can be managed (it depends on the specific version) via Modbus RTU, Modbus TCP or directly via MQTT, I have the MQTT enabled version.

Having a “single plane of glass” is great but remember that with that thermostat you’ll be able to manage the device also directly, even in case HA is unavailable.

You can use the kiosk browser for the day-to-day operations sending commands (temps, modes, fan modes etc) to the thermostat but in case HA is down (eg. botched upgrade) you’ll be able to start the FC without problems. In case the FC is already running when HA goes down you’ll notice no change in behavior as the thermostat will keep the FC running at the right setpoint temp.

My wife wouldn’t like to came home and found it cold because the RPI dumped and the temperature settings got lost…

I totally agree with your point, but these relays will just set the fan speed. I’ve used the same approach you proposed for the control of the heat pump that actually feeds the radiators and the fancoil, which is parallel connected to Home Assistant and to a standard, offline, thermostat.
By the way, I think I found a solution: looking on the ESPHome page for the GPIO switch I learned about this configuration variable called interlocking. With interlocking you can prevent two GPIO switches from being active at the same time. So this means that when I activate one of the three switches for the fan speed, the other one active gets deactivated. I even tried it with some spare relays I had and it seemed to be working really good.
I hope this can help someone in my same situation!