I use HomeAssistant and then buy specific tuya smart devices with either a esp32 or Bk based wifi chipset, then i can use openbk firmware or esphome firmware and there is no phone home.
for openbk devices see
https://www.elektroda.com/rtvforum/forum390.htmlThe forum has guides on flashing, some devices can be flashed via the CloudCutter tool but most others require the BK device to be opened and soldering required to flash. i would read the guides before choosing a device so you already know whats needed to flash (often a serial adapter at ttl voltages 5v or 3.3v) , these devices seem to be more common now and more diverse than the esp32 based products in terms of gimmicks eg. colour lcd's .
for esp32 based and homeassitant ,
https://community.home-assistant.io/Theres a lot more standalone products aimed at industry controlling with reliability in mind using the esp32 so expect these devices to have some extra features if you buy industrial control types and often have modbus over tcp/ip so adding to Homeassitant is super easy as writing a few lines in a xml file. My local siemens industry controls showroom has some very nice built switching systems but the price is high, nothing there is less than $300 and only a few pump controllers have lcd's the rest are just a few leds for status and the rest is done via the server. I gotta admit that the siemens unit replacement system is really good, if you have a few units in a control panel and one goes down when you replace the old one you can press and hold it's reset button to start the reset and connect routine and then on any other unit in the control panel you just press the reset once briefly and it will pair the new unit in place to the wifi so no app is needed on install to replace existing unit.
there are many types of these devices from Panel mounted with lcd and buttons to panel mount one switch and one bind button then there more astatic units like wall sockets, light switches (modern ones run no neutral so can fit even single wire light switch and work) as well as plug into light sockets types , extension cables types and more.
I use the LCD panel mount types a lot around the school I run and a home assistant instance to control schedules which runs on a x86 SBC and ssd.
If you are looking for a device that does not require a external server for schedule operation you can use openbk devices which have a basic code interpreter and you can write simple schedules. Not sure about esp32 devices as i personally only have the openbk based one's.
darkspr1te