I have an ecobee I mainly control locally through the HomeKit integration on HA. Just about all of the basic features are covered: setpoints, heat/cool/auto/off and fan on/off/auto. Some of the more advanced features like Home/Away/Sleep profiles are not available through the integration, but they tend to be set & forget.
It doesn’t need Internet access or the companion app to operate your system, though it will use external access to track local weather and energy rates. (And probably collect usage data.) The companion app gives access to a few more features remotely, but the unit is completely programmable from its front panel.
It’s worked out fine for me so far. My local power utility sells them at a steep discount through their online storefront. Check around for rebates.
















The HA Ecobee integration requires a developer API key which ecobee no longer distributes, if you already have a key it still works, but they stopped giving out new keys a few years ago.
On the other hand, the HomeKit integration allows new users to control most of the thermostat’s features locally over WiFi. I got my thermostat after the Developer program ended, and this is how I control it today. Once you install the HomeKit integration, it will discover the thermostat if its on the same LAN, and then prompt you to add it.