2 Taster abfragen und dabei einen Ausgang setzen

Jetzt sollte es verständlicher sein:

[Code der ersten Bedienstelle]
#include <Wire.h>
extern TwoWire Wire1;

int test1=0; 
int r1=0; 
int r2=0; 
int r3=0; 
int r4=0; 

int relais1=0;
int relais2=0; 
int relais3=0;
int relais4=0; 
int Relais1_zustand=0;
int state=0; 
int lastState=0; 
int Relaisstate=0; 



void receiveEvent(int howMany)
{
   r1 = Wire1.read();
   r2 = Wire1.read();
   r3 = Wire1.read();
   r4 = Wire1.read();

  state = digitalRead(Taster7);
 
  if (state != lastState) 
  {
    if (state == HIGH) 
    {
      if (Relais7 == HIGH) 
      {
        Relaisstate = LOW;
        Serial.println("LED AUS");
      }
      else 
      {
        Relaisstate = HIGH;
      }
    }
    lastState = state;
  }
  
  

  if((digitalRead(Relais7)==LOW)&&((r1==HIGH)||(Relaisstate==HIGH))){
    Relais1_zustand=1; 
    }
  if((digitalRead(Relais7)==HIGH)&&((r1==LOW)||(Relaisstate==HIGH))){
    Relais1_zustand=0; 
    }
    digitalWrite(Relais7,Relais1_zustand); 

   

  
}

  void requestEvent()
{

  Wire1.write(relais1); 
  Wire1.write(relais2);
  Wire1.write(relais3); 
  Wire1.write(relais4); 
}


void Kommunikation(int *relaisstatus) {
  relais1=relaisstatus[7];
  relais2=relaisstatus[8];
  relais3=relaisstatus[9];
  relais4=relaisstatus[10]; 
}
#include <OneButton.h>
#include <Wire.h>
//extern TwoWire Wire1;

const int PC_eins=3; 
const int PC_zwei=4; 
const int PC_drei=6; 
const int PC_vier=5; 

const int LED1=11;
const int LED2=10;
const int LED3=8; 
const int LED4=9;

const int SLAVE_ADDRESS = 8; //Slave arduino ID

int relais[5];

//Taster einlesen
OneButton button1(PC_eins, false); 
OneButton button2(PC_zwei, false); 
OneButton button3(PC_drei, false); 
OneButton button4(PC_vier, false); 

int LED1_alt=0; 
int taster1_alt=0; 
int zustand1=0; 
int taster2_alt=0;

void setup()
{
pinMode(PC_eins, INPUT); 
pinMode(PC_zwei, INPUT); 
pinMode(PC_drei, INPUT); 
pinMode(PC_vier, INPUT); 

pinMode(LED1, OUTPUT); 
pinMode(LED2, OUTPUT); 
pinMode(LED3, OUTPUT); 
pinMode(LED4, OUTPUT); 

Serial.begin(9600);

button1.attachClick(Taster1); 
button1.setClickTicks(10); 
button2.attachClick(Taster2); 
button2.setClickTicks(10); 
button3.attachClick(Taster3); 
button3.setClickTicks(10); 
button4.attachClick(Taster4); 
button4.setClickTicks(10);
Wire.begin(); 

}

void Taster1(){
LED1_alt=digitalRead(LED1);
zustand1=!digitalRead(LED1); 
digitalWrite(LED1,zustand1); 
}

void Taster2(){
int zustand2=!digitalRead(LED2); 
digitalWrite(LED2,zustand2); 
}
void Taster3(){
int zustand3=!digitalRead(LED3); 
digitalWrite(LED3,zustand3); 
}

void Taster4(){
int zustand4=!digitalRead(LED4); 
digitalWrite(LED4,zustand4); 
}

void loop(){
button1.tick(); 
button2.tick(); 
button3.tick(); 
button4.tick(); 
delay(5);

Wire.requestFrom(SLAVE_ADDRESS, 4);// request 3 bytes from slave device #8
int relais1 = Wire.read(); // receive a byte as character
int relais2 = Wire.read(); // receive a byte as character
int relais3 = Wire.read(); // receive a byte as character
int relais4 = Wire.read(); // receive a byte as character

Serial.println("*******************"); 
Serial.print("Relais 1 :"); 
Serial.println(relais1); 
Serial.print("Relais 2 :"); 
Serial.println(relais2); 
Serial.print("Relais 3 :"); 
Serial.println(relais3); 
Serial.print("Relais 4 :"); 
Serial.println(relais4); 
Serial.println("*******************"); 

// transmit just this variable to the slave
Wire.beginTransmission (8);
Wire.write (digitalRead(LED1));
Wire.write (digitalRead(LED2));
Wire.write (digitalRead(LED3)); //andere Nummern
Wire.write (digitalRead(LED4)); //andere Nummern
Wire.endTransmission ();

if((digitalRead(LED1)==LOW) && (relais1==HIGH)){ //Falls LED aus ist, und Taster über I2C (relais1=AN) kommt-> LED an; 
LED_zustand=1; //LED AN
}
delay(100); 

if((digitalRead(LED1)==HIGH) && (relais1==LOW)){ //Falls LED aus ist, und Taster über I2C (relais1=AUS) kommt-> LED an; 
LED_zustand=0; //LED AUS
}
delay(100); 

digitalWrite(LED1, LED_zustand);

}