There are a fair number of DIY thermostat projects online, but all that I have found were one-offs by their creators, or were for specific kinds of systems like boilers.
I've been batting around the idea of starting a general-purpose IoT thermostat that only uses cheap, widely-available components that anyone can easily duplicate with a BOM and 3D printer.