Where does the error come from in PID control?
What's wrong with what I just described? There's no PID control involved, no error term.


Ok, even if you knew all this (which you practically never do), then, when do you switch off the heating? The heater's going to be hotter than the target temperature of the room (otherwise, you'd never be able to reach that temperature), so if you keep it on for as long as the room hasn't hit that temperature, then the temperature will overshoot – the heater doesn't suddenly stop being warm when you turn off the heating.

You could alternatively just keep it on for as long as it takes to insert the necessary amount of energy – but then the room is going to take very long to get to its target temperature; you'd be relying on the radiator completely heating up the room / cooling down to room temperature for the heat transfer to complete, that's going to take hours.


so, yes, control theory is necessary, even in this very simplistic example.



So, it's a problem: how to design an oven control that trades off getting it hot enough as quickly as possible (obviously, by maxing out the heating until you've reached target temperature) and not overshooting too much.

Then, of course, none of the things you claim are realistic:

You never know exactly the amount of energy needed to heat up the room, because a room isn't a sealed satellite somewhere in outer space far away from any star – it takes more energy to heat a room with cold walls (winter) than with warm walls (summer, or you just heated before letting in some fresh air). You never know how much energy will escape through walls, windows and doors – that's weather- and usage-dependent.  The list goes on....