ZigBee devices are probably the obvious choice. You'll need a ZigBee dongle which acts as a controller, then HA can talk to all the devices.
homeassistant
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
This is my advice after moving house and setting everything up from scratch again.
Attach the dongle and then go through the smart device's pairing procedure and it should just pop up on HA.
Xiaomi/Aqara, Tuya, IKEA, etc are all or largely Zigbee (although check as I have some Bluetooth Xiaomi kit and they've been a pain in my backside) are all inexpensive but are solid and you don't need a hub.
HomeKit also seems to work well but I only have 1 HK compatible device and I didn't realise it was when I bought it. However, you may pay more of a premium for them (although I didn't).
Thanks for including the list of companies with compatible devices! It wasn't until reading your comment I realized Zigbee was more of an industry standard than rather than a single manufacturer.
I'll be getting me one of those dongles, now.
Yes, Matter/Thread may change things but, as it stands, Zigbee is the format that seems to be absolutely solid and available in the lower-priced end of the mark (so you can get handfuls of sensors for not much).
If a friend asked for my advice to get a smart home up and running, I'd say grab a ZBDongle-E (discussion here) and whatever Zigbee devices you like. With the latest versions of HA being so much more user-friendly than when I started out, it is about as easy as it gets without buying some fancy bespoke system. I got all my Zigbee devices up and running in about the same time it took to get a single Bluetooth device onboard, so just stick with Zigbee and you can't go far wrong, at least in my experience.
Don't skip out on Z-wave too. They're typically more expensive devices, but they use less power and are more reliable. You'll obviously need a separate Z-wave transmitter/receiver but they're under $30. You might also buy a couple USB extension cables so you can move both the Zigbee and Z-wave transmitters away from the ports since with some setups you can run into signal interference from the ports themselves.
Reading through the replies here, there are multiple suggestions for ZigBee. I think that's the route I want to go, but I'm not entirely sure how to lay everything out.
I have three separate buildings that need ZigBee devices. I could attach a dongle to the HA server, but that would only have range to work with the devices in that building. My house is much too far away for any wireless access, but it has a 10Gb fiber link to my server rack. The third location doesn't have a wired connection, but it's close enough to get WiFi, and probably close enough to mesh with the ZigBee devices in either of the first two locations.
Is it possible to have multiple ZigBee base stations on the same network; will HA work with this setup? As an alternative, I could maybe install repeaters, but I'm not entirely sure if the locations on my property with electrical connections are close enough together.
Don't use the built in zigbee implementation, your best bet imo would be either a network zigbee adapter or roll your own with a raspberry pi (or equivalent), a sonoff zigbee dongle and zigbee2mqtt.
Zigbee can be set up with either a USB dongle on the HA server (if you go that route get a dongle with a proper antenna), via hardwired networked hubs, or by Zigbee2mqtt or similar DIY options.
So for coverage across a large property with multiple buildings, networked hubs would be a good bet.
Most zigbee devices act as repeaters/routers for other devices, but they all need some route to the hub. so in your case, multiple hubs would be an option.
Nearly all Zigbee and Z-wave devices JUST WORK or are very close as long as you just double check they are on the compatibility lists. They are also fully local, mature and have devices from switch / hardware makers that are reputable in making switches and outlets. (unlike most wifi devices)
I would also suggest matter devices but that is still beta in home assistant and too EARLY to say anything about the quality of devices that support the limited 1.0, 1.1 specs.
the compatibility lists
What compatibility lists? That's what OP is asking for.
Zigbee via Zigbee2MQTT: https://www.zigbee2mqtt.io/supported-devices/
Zigbee via ZHA: https://zigbee.blakadder.com/zha.html
Zwave via Z-Wave JS: https://devices.zwave-js.io/ ( I will note that even if a Z-wave device is not on the official known supported list most will work if they are basic devices like a switch)
If your in the market for WiFi stuff, shelly is my go-to. They have local access, ha integration and even mqtt if thats your bag
Shelly devices are also my goto. Never had any problems with them and they are very versatile and well built.
I'm a big fan of tasmota and esphome. There's plenty of cheap esp32 devices that you can flash these onto and all will work via regular old wifi.
Ditto. I haven't played with ESPHome but for general devices I only use stuff that I can flash with Tasmota (or stuff that comes pre-flashed).
Except for HASS itself - which has limited access - none of my IoT stuff can get to the internet
Zigbee, Z-wave, and Matter all should work, but they need special radios that require extra hardware on your server (except sometimes Matter—some devices use WiFi, while others use Thread, which is based on Zigbee). SkyConnect gives you Zigbee and Thread. Homekit usually works too, but at this point it's better to get a WiFi Matter device. Anything running ESPHome will work automatically. Athom has a lot of products that are preflashed with ESPHome, so the firmware is designed by the same people that make Home Assistant.
I don't know of a good list, but if you start looking through the integrations on the website, what you're looking for is "Local Push" or "Local Poling". Local Push is better.
I have a bunch of WiFi devices flashed with Tasmota. If you're handy with a soldering iron (arguably optional but makes it a little easier), you can stock up on Sonoff Basic switches and flash them. The stock firmware doesn't work with HA. The Tasmota website lists a bunch of devices that it works on. ESPHome is a similar project.
Going this route isn't quite "just works" since there's tinkering involved, but there are other, more expensive options. Shelly is a popular brand but I've never used one.
I've used TP-Link Kasa switches/outlets before and they work well. I believe in recent years they've disabled the ability to turn off cloud features, meaning you have to be ok with them having access to the devices, or you can block them with a firewall rule. Local control still works either way.
I also use a lot of z-wave switches, mostly from Zooz. If it's going inside the wall, I want it to be certified for that purpose so I'll pay extra for the safety.
Finally there's HomeKit. If you're device supports it, you can have local control. Just set the device up using HomeKit instead of whatever cloud polling option there might be available. This might be an option for Tuya, for example.
As far as “just works” get something that is directly integrated with home assistant and IMO if home assistant has direct access to the radio or method of communication, the better. As others have said both Zigbee and ZWave devices can interact directly with HA using a dongle and I do so with a VM on Proxmox and it works great, I do however think the ZWave JS and ZWave JS UI integrations are far and ahead of Zigbee ZHA integration (I won’t speak on Zigbee2MQTT as I don’t use it)
Wi-Fi devices are nifty but their reliance on the strength of your WiFI, internet connectivity, DHCP working, IPv6 support make them more variable than the ZWave and Zigbee standards that really just require you build a good mesh by having devices every so often that each other can “relay” through.
IKEA tradfri stuff
I've had very good success with Zigbee stuff, TP-Link Kasa outlets (but I've put them on a different router / subnet that doesn't have Internet access), and ESPHome.
Tuya stuff sucks (keeps disconnecting), JuiceBox (my car charger) changed their app so the integration doesn't work anymore, and the Aqara zigbee door sensors never worked for me (they pair perfectly, but then disconnect and never come back on).
So yeah, in my experience, once it works, it works, as long as there's no cloud involved.
I'm happy with my ESPHome (maintained by the same entity as HA), Shelly (cloud is optional), and Caseta system. I'm glad everyone else is happy with their dongles but I didn't want that. 2.4 ghz is crowded enough as it is.
Wyze natively supports Google Assistant. If you are a HK user you can set up Homebridge and use the "homebridge-wyze-smart-home" plugin which supports a lot of Wyze devices and is regularly updated.
Can you not just use the HomeKit integration directly in HA? I don't have any Wyze devices but I have several (like TVs) that have added themselves to Home Assistant via the HomeKit integration.
I do not believe there is a Wyze integration for Home Assistant.
I'm going to pontificate a bit.
I get the impression that there just isn't quite as much "just works" on offer as there use to be. In the 3ish years I've been playing with HA I've seen several of them vanish and not return. This has gone hand-in-hand with "improvements" in IoT security.
Personally I have no problem with insecure APIs on my local network. But I'm 20 years out of date, the threat landscape is infinitely more vast and people I've never met are looking to fuck my shit up for a fraction of 1 bitcoin ;-)
Secure local access shouldn't really be a problem, but ultimately it will always require a non-zero amount of maintenance. Either from you (if you're lucky) or the manufacturer (if they're still in business).
Working off all that Zigbee is probably going to be your best bet. It just works pretty good, but I have yet to find a list of all the basics that always work perfectly for everyone. But most of it is cheap and plentiful enough that you can just try another device if needed.
Some folks seem to get away without repeaters, some don't. So repeaters and devices don't seem to be compatible, and that makes the notion of a self-healing automatically optimized mesh more of a theoretical ideal. Start with small test deployments and scale up gradually. RF isn't easy, there's going to be glitches. Devices with a graceful fallback are good... every bulb in your bedroom coming on at 3:00AM when the power hiccups may be an acceptable compromise to you, but might not be for the person you're sleeping next to ;-)
And this has devolved into barely coherent rambling, so I'm out. Sorry I couldn't answer your question, but hopefully I don't completely waste your time.
As everyone else said, basically, don’t get WiFi devices - they generally expect to be cloud controlled and call home. I suppose that’s fine for people who don’t want to set up a hub, but even then would be a hassle unless all your devices are from the same brand.
Look for an open standard local-only network protocol, starting with Zigbee or z-wave. Could also try Thread, Bluetooth, or a couple other choices, but they might be more involved/limited.
If you’re using HA, spend $30 on a dongle to get a transceiver for whichever local protocol you use, and you’re good to go. Actually with HA, you don’t need to be limited to one, but I would start with one for your sanity
I started with z-wave, because that’s where I found the most devices that I wanted (light switches) in my area. However at this point I have equal number of Zigbee and z-wave. Actually all the Zigbee claim to be flashable to Thread, which is why I chose them.