Firstly check the ECT (engine coolant temp)sensor harness plug for loseness, a known fault on Zafiras.
If faulty it will need to be replaced/modified.
If not that then it may well be the EGR valve (exhaust gas recycling) again a known fault on this car, it will need cleaning out/replacing.
Before you start to think replacing the ECU (engine management control unit) you should either have the car undergo a diagnostic check which should show up a fault code or, if you want to try, you can carry out a self diagnoses on the system.
If you want to try then follow this:
Arm yourself with a pen and some paper. Get into your car and before you put the key into the ignition make sure that you press the brake pedal and the accelerator to the floor as far as they will go.
Then turn the key on until the dash board lights come on but DON'T START THE CAR!
Wait two seconds and keep the pedals down to the floor and the service light under the management light should start flashing.
It will initially flash four times leaving one or two second space representing each number.
Zero gets 10 flashes
For example - P0110
The light will flash ten times then stop, then once and stop, then once again, then ten times.
If there is more than one code it will stop for a break then give the next code.
However if you don’t have any code stored it will start flashing and keeps on flashing until you release the pedals.
It should give you a 6 digit number with ECN displayed where the mileage normally is.
Check out this site for the code meanings. www.astraownersclub.com/vb/showthread.php?t=250554
Ignore the ECN and P numbers. You only need the 4 digits.
If this fails, turn on your radio. Then hold down the SETTINGS button until you hear a beep. Then press the BC button to scroll through the ECU diagnostics screen. The fault codes should be at the end of the list.
All the codes before it refer to Hardware, Software, Temp sensor voltages etc. The codes you need should start ECN.