Uses a current transformer on generated and house load.
calculate_excess:
available_power = generated - used
If used >= generated Then available_power = 0
If available_power > 1023 Then available_power = 0
If available_power < 1 Then available_power = 0
PWMduty 1, available_power
Above exports generated power in excess of house load to pulse width modulator. ( Heater )
'If available_power >= 10 And available_power <= 255 Then RD4 = 1
'If available_power < 10 Then RD4 = 0
10 in the above line would be sized for what ever heater you have.
Above switches on a fixed load when available power is greater than used and equals the heater load.
You could digitally step available load in various stages.

Yellow bar graph is used.
Red bar graph is generated.
http://steamboilers.homecall.co.uk/1239.jpgRegards
Alan