Timer1 on ATTiny84 using Arduino One as ISP

Hey Folks

What’s the fault in my code? i just want to run the Timer1 and it should turn on a LED on Pin 0 after a seconde or two. The clk is set to 8MHz. Documentation is here (Page 108 Timer1)

void setup(){
  pinMode(0, OUTPUT);

  cli();

  TCCR1A = 0;     // TCCR1A to 0 (no OCR1 shoul not change)
  TCCR1B = 0;     // reset TCCR1B 
  TCNT1  = 0;      // start value 0

  OCR1A = 4000;


  GTCCR   |= (1 << PSR10); // reset prescalar
  TCCR1B  |= (1 << WGM12);   // enable Clear Timer on Compare Match with OCR1
  TCCR1B  |= (1 << CS12) | (1 << CS10);  // 1024 prescaler

  TIMSK1  |= (1 << OCIE1A); // Interrupt Mask Register 1:  OCIE1A = 1 for  Output Compare A Match Interrupt Enable
  TIFR1   |= (1 << OCF1A); //  set  OCF1A flag for interrupt vector ? TIM1_COMPA or TIMER1_COMPA_vect

  sei();   // set I-Flag or :  SREG |= (1 << 7);

}

ISR(TIMER1_COMPA_vect){
    digitalWrite(0,HIGH);
}
  
void loop(){
}

in the comments are some hints

fOCnA=fclk_I/O/[2* N*(1 + OCRnA)]

Got it.
Here the code with some comments:

// Timer/Counter 1 ATTiny24/44/84 using Arduino as ISP using repo of david a. mellis
// Toggle LED with Timer1 using CTC (Clear Timer on Compare Match)
// by bongo1234 11.11.2017
// Arduino IDE 1.8.5
// ATMEL DOCUMENTATION ATTiny24/44/84: PAGE 108 (Timer 1)
// for prescaler: doc page 97 (formula) and 111 (cs10-cs12 selection)
//

#define PIN 0 // SELECT YOUT OUTPUT PIN
#define I_FLAG 7 // Status register Flag I enables intrrupt globally

void setup(){
  pinMode(PIN, OUTPUT);

  TCCR1A  = 0;     // TCCR1A to 0 (no MODIFICATION ON OCR1 with CTC Mode) (DEFAULT)
  TCCR1B  = 0;     // reset TCCR1B (DEFAULT) 
  
  OCR1A   = 2000;   // Output Compare Register 16-Bit recalculte for other timing
  
  GTCCR   |= (1 << PSR10); // reset prescalar (DEFAULT)
  TCCR1B  |= (1 << WGM12); // clear Timer when Counter (TCNT1) equals OCR1A --> CTC (Clear Timer on Compare Match) 
  TCCR1B  |= (1 << CS12) | (1 << CS10);  // 1024 prescaler

  TIMSK1  |= (1 << OCIE1A); // Interrupt Mask Register 1: enable interrupt for TCNT is  equal OCR1A
  TIFR1   |= (1 << OCF1A); //  set OCF1A flag for interrupt vector TIM1_COMPA_vect (DEFAULT)

  TCNT1   = 0;      // start value 0

  SREG    |= (1 << I_FLAG); // enable global interrupt in status register. It'ss equal to sei(); function
}

// Interrupt Service Routine for Timer1 (Vector select in TIFR1)
ISR(TIM1_COMPA_vect){
    digitalWrite(PIN, digitalRead(PIN) ^ 1); // toggle PIN
}
  
void loop(){
}

cheers b