Sonoff mini managed with eWelink app its working for me.
You just go to eWelink setup and set the switch to the last status in case the power fails
https://sonoff.tech/product/diy-smart-switch/minir2/
Any cheap timer will do the job perfect, digital are more expensive and I've had trouble with them failing so I stick to the cheapest ones on the market, just don't drop them, they're quite brittle
You can get a cheap timer just about anywhere. I use the BN-LINK 8 Outlet Surge Protector with 7-Day Digital Timer (4 Outlets Timed, 4 Outlets Always On). Works great for my setup.