How hard can it be?
I am not asking for much, and for the air-con this is a simple job. I have a 5m x 5m x 2.4m cuboid room with door and window closed, one person, and one computer. It has one job - keep the room around 21℃.
It is a powerful unit, and this is the first springtime I have had it trying to do its job.
It seems, when heating the room, if I set it for 21℃ it will set the room between 21℃ and 22℃, roughly. That is fine.
However, when it gets warmer, it switches to cooling mode. In this mode, even saying to cool to 23℃ it will make the room between 19℃ and 20℃. I have to set it to around 24℃ to work sensibly.
The problem then is that it can decide that it is now too cold, switch to heating, and make the room 25℃ or more, which is getting silly.
If it is overshooting, which I can understand, then surely the code can understand that, and can act accordingly. Heck, it could even learn how the room behaves if it tried.
P.S. Set to cool to 24℃ it actually allows the room to go to 21.7℃ and a few seconds of cool air back down to 21.5℃ so a really good narrow target, just way off what I set!