10
Building from scratch
(lemmy.world)
Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Available for free at home-assistant.io
It might be easier to have the electrician install normal switches at first. That will give you time to figure out which ones you want to be smart, which ones you want on dimmers, etc.
Sensors will all be outside the wall, although you should make sure the thermostat wire has enough for a C wire.
I don't know about smart outlets -- I don't think they're very common. Most smart outlets are designed to plug in to normal dumb outlets.
If there's a good spot on the ceiling, I'd have them run some ethernet cable to a box. You can leave it covered, but it'll be there in case you decide to mount a WiFi AP there.