It worked. Thank you @widdly and @okyeron for your replies.
I don’t know excactly what did it, but using the basic_slave_range worked, as I could then receive on multiple adresses, and I realized i was using the wrong adresses for WW op.
Now I just have to get to know the protocol and how I read and print and manipulate the data.
It seems like i always get the same content in databuf no matter what teletype i2c command i send.
The adress prints fine, but i keep getting the same number 536812592 printed in my serial monitor.
The adress comes up right, but the “data” is the same no matter what. Any advice how to familiarize myself with Wire.read and functions connected to it?
I’ll definitely have a look through the examples.

#include <i2c_t3.h>

// Function prototypes
void receiveEvent(size_t len);
void requestEvent(void);

// Memory
#define MEM_LEN 256
uint8_t databuf[MEM_LEN];
volatile uint8_t target;
volatile uint8_t received;


void setup()
{
pinMode(LED_BUILTIN,OUTPUT); // LED

// Setup for Slave mode, addresses 0x08 to 0x77, pins 18/19, external pullups, 400kHz
Wire.begin(I2C_SLAVE, 0x01, 0xFF, I2C_PINS_18_19, I2C_PULLUP_EXT, 400000);

// Data init
received = 0;
target = 0;
memset(databuf, 0, sizeof(databuf));

// register events
Wire.onReceive(receiveEvent);

Serial.begin(115200);
}

void loop()
{
// print received data
if(received)
{
    digitalWrite(LED_BUILTIN,HIGH);
    Serial.printf("Slave 0x%02X received: '%d'\n", target, databuf);
    received = 0;
    delay(200);
    digitalWrite(LED_BUILTIN,LOW);
}
}

//
// handle Rx Event (incoming I2C data)
//
void receiveEvent(size_t count)
{
if(count<MEM_LEN) {
target = Wire.getRxAddr();  // getRxAddr() is used to obtain Slave address
Wire.read(databuf, count);  // copy Rx data to databuf
received += count;           // set received flag to count, this triggers print in main loop
}
}