Learn To Code
A Problem
Here is a graph of the temperature in my ~1000-square-foot apartment, as recorded from my desk by an AirGradient:
That is a pretty terrible in my opinion, considering that I have my preferences set to ±0.5°. My apartment has an ecobee3 lite and, as bad as it is, every other thermostat I have lived with has done an equally poor job.
Part of the issue seems to be the atrocious quality of its temperature sensor. The sensor used for the above graph is a calibrated Sensirion SHT40 which costs a whopping $4.76. Here is what the ecobee, a $169 release MSRP device, sees:

Also note that the ecobee's measurements range from 73-75.6°, a 2.6° swing, while the SHT40's range from 75.1-79.2°, a 4.1° swing. However, it also seems to do whatever the hell it feels like on top of the bad data. Why is it sometimes beginning to cool at 75°, and sometimes at 75.5? Why is it gradually lowering the temperature on Thursday night? I have screenshots of much worse examples, but I did not save the ecobee's graphs back then so they might have been the sensor's fault.
I did lower the temperature a bit for Friday because a handyman was going to pop in, not that it did anything according to the more accurate temperature graph. Here is some more data:

A Solution
Were I not a programmer, my response to this would probably be to complain to family and friends, and otherwise simply suffer. Worse, I would be malding at any point in the future when forced to baby the temperature setting in order to stay comfortable.No need to worry, however! I know how to code! In fact, Home Assistant which these graphs are from has drag-and-drop block coding. "If the temperature is below
my setting minus leeway value, set the thermostat temperature to 80 degrees. If the temperature is above my setting and the HVAC has been running for more than minimum runtime (5 minutes), set the thermostat temperature to 60 degrees." OK, let's see how that looks across, say, a month:
Much, much, much better. Does everyone need to attend a bootcamp in fear of FOMO? No. However, there are innumerable ways to improve your quality of life with a slightly-more-than-basic understanding of computers. I implement things like this all the time and then they sit there, chugging along with most never receiving maintaince or an update, making me a little bit happier for the rest of my days.
Postscript
I have a slightly-more-than-slightly-more-than-basic understanding :) so I have some extra features. If I am playing music (and do not have "block HVAC," "prioritize music," "music ignore HVAC" settings toggled on), it and my HVAC take turns. I think that is my highlight of this decade, honestly, I can't tell you how great it is. (My HVAC is rather loud.) I also have smart reheating based on hourly electricity prices:
This image is from December when I added smart reheating (and not-pictured preheating), and the others are from this week. I had not implemented a way for both heating and cooling at once, only heating or cooling, but it appears I will have to. Living with the ecobee at the wheel for the past few weeks has been a painful reminder of how bad I used to have it.








