Attiny 13 / Attiny 85 unterschiede im sleep mode und interrupt ?

Hallo.

Ich habe ein Sketch das meinen Attiny 85 in den power down versetzt, sobald ein HIGH auf einem Pin anliegt.
Aufwecken funktioniert mit einem wechsel an einem andern Pin per Pin Change Interrupt auf PB0

Nun wollte ich den gleichen Sketch auf einem Attiny 13 laufen lassen aber der reagiert komplett anders.
So wie es aus sieht geht er gar nicht in den power down oder wird sofort wieder aufgeweckt.

Ich habe zwar etliche Beispiele zum Attiny13 im Internet gefunden, aber meistens wird dort leider nicht die Arduino IDE verwendet.

Hat jemand ein Beispiel wie ich den Attiny 13 in power down setzen kann und wie ein aufwecken mit einem wechselnden Signal funktioniert ?

Den Pin zum aufwecken habe ich mit
pinMode(WAKEUP_SWITCH, INPUT_PULLUP);

deklariert, so brauche ich nur einen Kontakt gegen GND.
Könnte das den Attiny13 stören ? (Habe ich nich tgetestet weil mir das jetzt gerade eingefallen ist)

Ein Beispiel würde mir schon reichen. Ich hab den Sketch jetzt so oft verändert, ich muss eh wieder den original vom Attiny85 verwenden und diesen anpassen…

Hier der Attiny85 Code (verkürzt, aber ohne Kompilierungsfehler)

#include <avr/sleep.h>

const int WAKEUP_SWITCH = 0;  // Reed Kontakt nach GND 
const int VREG_SHTDN = 4;  //  Abschalten wenn HIGH
boolean goto_sleep = true;
const int Vcc = 1; // LED zur Kontrolle


// PinChange ISR - Einstiegspunkt nach dem Tiefschlaf
ISR (PCINT0_vect) {}


void setup() 
{

  pinMode(VREG_SHTDN, INPUT);
  pinMode(WAKEUP_SWITCH, INPUT_PULLUP);  // Pullup Widerstand für den Aufweck Pin
  pinMode(Vcc, OUTPUT);
  
// AD Wandler abschalten 
  ADCSRA &= ~(1<<ADEN);
  
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  
  // PinChange(PC) Interrupts erlauben
  GIMSK |= (1<<PCIE);
}

void loop() 
{
 
  if (goto_sleep == true)  
  {
    digitalWrite(Vcc, LOW);

    PCMSK |= (1<<PCINT0);
    
    // Schlafmodus aktivieren
    sleep_enable();
    // Tiefschlaf aktivieren und auf den PC Interrupt warten
    sleep_mode();
    
 
    sleep_disable();
    digitalWrite(Vcc, HIGH);  //Attiny ist an 
    
    // PC Interrupts  wieder ignorieren
    PCMSK &= ~(1<<PCINT0);

    goto_sleep = false;
  }
  

  

  // Ausschalt Signal erkannt ?

          if (digitalRead(VREG_SHTDN) == 1){
            //  Prellen abfangen ... 
            delay(200);
        
            if (digitalRead(VREG_SHTDN) == 1){

            goto_sleep = true;
            }
           
          }

 
}