Interesting I’ve had WAY better luck with homebridge than any of my native HomeKit enabled hardware. Not to say there aren’t some buggy homebridge plugins. I’ve developed several of my own plugins, outdoor shower, snapcast remote, irrigation system and garage door. But I’ve managed to work out all those bugs too and it’s rock solid now. Native hardware that is buggy is basically buggy forever because so many companies don’t provide firmware updates.
All parts are true.
It's pathetic how much HomeBridge is required because HomeKit has so much omitted (especially basic functionality required for Automation -- variables, weather access, delays+timers stuff like that).
It's also pathetic that HomeKit is so fragile in terms of how it needs the network to be absolutely perfect -- AND how it does NOTHING to inform you of when there are problems. There's no logging, no standard procedure for reporting errors, none of that fancy neural network stuff to detect that patterns have changed.
Yes, HomeKit is kinda sort a lot more reliable when the network is just right. But it is absurd that it should be so fragile, and provide no help in making things better.
Even something as basic as "Automations live on hubs" seems to have been designed and implemented by the stupidest person alive so that, I kid you not, as far as I can tell, when you replace a home hub (eg buy a new aTV and wipe and sell the old one) all your automations stop working. You gasp in astonishment -- "surely not?" Yes, that is exactly what happens. That is the level of quality of HomeKit. Even today, with two HomeKit hubs in the form of an aTV 4K and a HomePod, as far as I can tell some automations live on one, some on the other, and the two do not co-ordinate.
Anything Bluetooth based is just as bad. You would hope that anything that handles BT would act as a relay station, eg if I press a BT button near a HomePod, it should always be detected. You would hope that, but does not seem to be the case; in this case it seems like I HAVE TO have my phone near the BT button to get functionality.
It is mind-boggling how bad it is, in ways that you can not imagine how anyone ever allowed this outside the lab, for release.