It's more about hardware. Good luck getting your fire insurance cover damages when your Alibaba sourced board that you operate on the mains (via Alibaba source AC/DC converter) fries your living room.
The issues with DIY here are not hard issues in themselves (grounding, heat protection/ventilation), but they require a custom casing solution which is kind of hard if you don't want to end up with weird looking industrial cases on your wall and ceiling.
Home assistant also integrates well with openzwave so you can use most zwave devices including a variety of switches.
A respectable 433MHz controlled plug, an arduino, 433MHz TX and a humidity sensor.
Interface configuration still requires writing some YAML (unless the editor got better since I last looked at it), but installation and configuration is now extremely simple.