Looking at the landscape of products at the local Home Depot or Lowes, it seems like most offerings are Wifi Only, need internet access, and require use of some proprietary app. The cynic in me thinks this is by design to lock people in to needing additional services (aka revenue streams)
I grabbed a bunch of very cheap (via aliexpress) zigbee based products, and have been amazed at how well they can work. I find myself wishing I could find more ZigBee based devices locally (US-Based, at common retailers) in order to more quickly implement and build up more automation.
Search tuya zigbee on aliexpress, avoid tuya wifi as that requires an app that is managed in China. All the tuya zigbee devices I bought (lights, plugs, and temperature/ humidity sensors) are reliably controlled locally by homeassistant and they appear to be durable.
I've had a few glitches, but I'm blaming my rookie experience with this before I blame the product directly.
Expect a long delivery time from anything at aliexpress though.
I was originally seeking a whole-house energy monitor, but the 200A CT Clamps are too big to fit on the main lines into my distribution center, because there are too many other wires around it.
One reason is that ZigBee got there first. It was the established player, people had worked around the wrinkles and it was generally pretty good. And you have a network effect of installed devices.
The main advantage (AFAIK) of BLE mesh is that your radio can also easily do normal BLE which can be helpful e.g. to talk to phones. This hasn't (so far) been enough to make it worthwhile to switch from ZigBee.
It was a bit of a pain to work with, but I think it was more the SDK/implementation than the spec itself. Iirc this company had created its own "mesh" before the official Bluetooth spec so working backwards to conform to the official spec was rough.
There were a few annoying limitations around max hops and leader election that were tricky. This mesh needed to have a single "gateway" node to go between the mesh and a normal BLE connection to the phone.
I still think BLE mesh is a better solution than ZigBee/Z-Wave.
I don't know if there's been good progress on client SDKs to have an easier time interacting with BLE. Getting bluez to do what I wanted was not simple, and a lot of the time it wasn't compatible with hardware.
This is true, but this was never really a problem for the adoption. Spec delays, no firmware upgrade support, and most importantly no proper backing by phone or gateway vendors. Thread and matter seem to have fumbled their opportunity though, so it might not be too late.
Licensing is an issue for me. I don't want to pay to use name 'Bluetooth'. That being said who would buy an "IEEE 802.15.1 compliant" or "IEEE 802.15.1 enabled" device? No real way about getting clever about it like calling it "cyan enamel"
Any insight as to why? I suspect the standards body and licensing have something to do with it but maybe there are technical reasons.