ok, everthing has been working for a few days now and all of sudden it has stopped working. All of a sudden I see no interrupts. The TSL261 is blue tacked over the LED on my electricity meter which flashes once for every watt. I'm new to express sch so bare with me:

In addition to the above there are 2 LED outputs from arduino digital pins 4 and 5 to show a loop has completed and we've logged a meter reading (i.e. written meter readings to the serial port). I added the println if no pulses were detected to help debug it and all it outputs is 0 (indicating no interrupts incremented the sensor variable).
I only put the LED from 4n25 emitter to ground to show the pulses from my electricity meter and the same problem exists when the emitter is grounded.
The script follows:
const int dataLedPin = 4; // LED indicating sensor data is received
const int logLedPin = 5; // LED flashes during a log attemp
const int logInterrupt = 1; // ATmega 168 and 328 - interrupt 0 = pin 2, 1 = pin 3
const int interruptPin = 3;
volatile unsigned long sensor = 0; // Counts power pulses in interrupt, 1 pulse = 1 watt
unsigned long total = 0; // Total power used since the sketch started
void setup(void)
{
Serial.begin(19200); // opens serial port, sets data rate to 19200 bps
pinMode(dataLedPin, OUTPUT); // LED interrupt indicator initialization
pinMode(logLedPin, OUTPUT);
pinMode(interruptPin, INPUT);
// enable 20k pullup resistor:
digitalWrite(interruptPin, HIGH);
attachInterrupt(logInterrupt, interruptHandler, FALLING);
interrupts();
Serial.println("Start");
}
void loop(void)
{
// flash the data LED
digitalWrite(dataLedPin, HIGH);
delay(50);
digitalWrite(dataLedPin, LOW);
if( sensor != 0 ) {
digitalWrite(logLedPin, HIGH);
Log();
digitalWrite(logLedPin, LOW);
} else {
Serial.println(sensor, DEC);
}
delay(6000);
}
void Log()
{
unsigned long sensor_count;
uint8_t oldSREG = SREG; // save interrupt register
cli(); // prevent interrupts while accessing the count
sensor_count = sensor; //get the count from the interrupt handler
sensor = 0; //reset the watts count
SREG = oldSREG; // restore interrupts
total += sensor_count; //total watts counter
Serial.print(sensor_count, DEC);
Serial.print(',');
Serial.println(total);
}
void interruptHandler() // routine called when external interrupt is triggered
{
sensor += 1; //Update number of pulses, 1 pulse = 1 watt
}
When I run this now I see the LED from the opto isolator (4N25) flash for every pulse from my electricity meter which should pull digital pin3 on the arduino to ground and yet the interrupt does not seem to fire.