SONOFF has a new device that is intended to fit inside and existing switch box so that you do not have to replace your light switch.
This device has separate and low voltage switch inputs that are isolated from the mains. https://amzn.to/2H3ZLR4
I use them with Google home directly using the app eWelink. I have elected not to roll my own, two many other projects.
You can hack them and load Tasmoto which will enable their use with most other open home systems using MQTT architectures etc.
This new mini also has a developer mode which I have not investigated.
Initially, flashing was done by soldering to test points on the board but now there are steps for using the DIY mode if you get one without DIY OTA enabled out of the box, without soldering. Note that it still requires opening the case and moving a jumper, but it’s easier than soldering to some fairly small pads.
I finally got my SONOFF mini and got around to installing it.
I was lucky in that the switch box I installed it in was:
Plastic
A deep box
Neutral was available
Although my installation was easy I can see where this might be a tight fit in single boxes with the typical wad of neutral wires and you need the neutral.
I don’t know if the antenna must be outside a metal box. You can stick it to the outlet cover.
I used a stranded wire (from old power cord) to connect the switch as it does not need to carry the loads currently. This gave me more space in the box and made insering the box and switch easier.
The switch on/off label and position is now irrelevant as the power will toggle based on what was used to turn it off last.
I use eWeLink for the control app and have a Google home hub.