The following will work and meets the requirement that the heater does not auto turn on when powered up. You need to turn the heater on manually, so no different from existing, and this then allow you to either
Power it down at a preselected time of day, provided the Arduino is able to keep track of time, or
The Arduino will turn it off a set period after it has started to heat.
The latter is easier to do and meets the need well enough.
The only technical requirements are
Able to sense current drawn by heater.
Able to turn a heater control relay on/off
Able to set or select a time delay on Arduino.
Of these, the current detection is hardest and even then, not very hard. Possible means include:
Current transformer connected to heater lead.
Opto isolator with LED in series with lead with suitable parallel resistor across opto LED to drop enough voltage to trigger opto on voltage peaks when heater is on, and backwards diode across opto LED for reverse mains cycles. This provides a series of pulses to Arduino when heater is on.
Arduino controlled external relay or solid state relay.
Some means of detecting that heater is drawing current - timer mode only.
Arduino cct can:
Detect current draw.
Turn relay off/on
Be programmed to either stop time or run time.
Drives external relay or solid state relay.
Optional: Relay defaults on.
Set external Arduino timer to desired time.
Arduino sets relay ON.
Set heater to desired start time.
When heater start Arduino sees current and starts timing, or in time of day mode just turns off power at correct time.
This keeps all circuitry external.